diff -ruN blas-1.1/cblas/src/Makefile refblas3-1.2/cblas/src/Makefile
--- blas-1.1/cblas/src/Makefile	Mon Mar 15 15:11:03 1999
+++ refblas3-1.2/cblas/src/Makefile	Tue Jun 10 17:10:02 2003
@@ -12,7 +12,8 @@
 
 # Error handling routines for level 2 & 3
 
-errhand = cblas_globals.o cblas_xerbla.o xerbla.o
+#errhand = cblas_globals.o cblas_xerbla.o xerbla.o
+errhand =  cblas_xerbla.o xerbla.o
 
 # Object files of all routines
 alev = $(alev1) $(alev2) $(alev3) $(errhand) 
diff -ruN blas-1.1/cblas/src/cblas_cgbmv.c refblas3-1.2/cblas/src/cblas_cgbmv.c
--- blas-1.1/cblas/src/cblas_cgbmv.c	Mon Mar 15 15:11:04 1999
+++ refblas3-1.2/cblas/src/cblas_cgbmv.c	Thu Jun 12 10:28:11 2003
@@ -43,7 +43,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -132,7 +132,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -160,6 +160,6 @@
       }
    }
    else cblas_xerbla(1, "cblas_cgbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_cgemm.c refblas3-1.2/cblas/src/cblas_cgemm.c
--- blas-1.1/cblas/src/cblas_cgemm.c	Mon Mar 15 15:11:05 1999
+++ refblas3-1.2/cblas/src/cblas_cgemm.c	Thu Jun 12 10:28:15 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -48,7 +48,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgemm", "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cgemm", "Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -80,7 +80,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgemm", "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -90,7 +90,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgemm", "Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
                   &F77_ldb, A, &F77_lda, beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_cgemm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cgemv.c refblas3-1.2/cblas/src/cblas_cgemv.c
--- blas-1.1/cblas/src/cblas_cgemv.c	Mon Mar 15 15:11:06 1999
+++ refblas3-1.2/cblas/src/cblas_cgemv.c	Thu Jun 12 10:28:15 2003
@@ -41,7 +41,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if (order == CblasColMajor)
    {
@@ -51,7 +51,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -127,7 +127,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -156,7 +156,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_cgemv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cgerc.c refblas3-1.2/cblas/src/cblas_cgerc.c
--- blas-1.1/cblas/src/cblas_cgerc.c	Mon Mar 15 15:11:07 1999
+++ refblas3-1.2/cblas/src/cblas_cgerc.c	Thu Jun 12 10:28:15 2003
@@ -30,7 +30,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       F77_cgerc( &F77_M, &F77_N, alpha, X, &F77_incX, Y, &F77_incY, A, 
@@ -78,7 +78,7 @@
          free(y);
 
    } else cblas_xerbla(1, "cblas_cgerc", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cgeru.c refblas3-1.2/cblas/src/cblas_cgeru.c
--- blas-1.1/cblas/src/cblas_cgeru.c	Mon Mar 15 15:11:08 1999
+++ refblas3-1.2/cblas/src/cblas_cgeru.c	Thu Jun 12 10:28:15 2003
@@ -25,7 +25,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if (order == CblasColMajor)
    {
@@ -39,7 +39,7 @@
                       &F77_lda);
    }
    else cblas_xerbla(1, "cblas_cgeru","Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chbmv.c refblas3-1.2/cblas/src/cblas_chbmv.c
--- blas-1.1/cblas/src/cblas_chbmv.c	Mon Mar 15 15:11:09 1999
+++ refblas3-1.2/cblas/src/cblas_chbmv.c	Thu Jun 12 10:28:15 2003
@@ -39,7 +39,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chbmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -121,7 +121,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -134,7 +134,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_chbmv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -153,7 +153,7 @@
          while (y != st);
       }
    }
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chemm.c refblas3-1.2/cblas/src/cblas_chemm.c
--- blas-1.1/cblas/src/cblas_chemm.c	Mon Mar 15 15:11:10 1999
+++ refblas3-1.2/cblas/src/cblas_chemm.c	Thu Jun 12 10:28:15 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chemm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_chemm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chemm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -86,7 +86,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_chemm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
                  &F77_lda, B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_chemm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chemv.c refblas3-1.2/cblas/src/cblas_chemv.c
--- blas-1.1/cblas/src/cblas_chemv.c	Mon Mar 15 15:11:11 1999
+++ refblas3-1.2/cblas/src/cblas_chemv.c	Thu Jun 12 10:28:15 2003
@@ -39,7 +39,7 @@
    RowMajorStrg = 0;
 
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chemv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -122,7 +122,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chemv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -135,7 +135,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_chemv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -154,7 +154,7 @@
          while (y != st);
      }
    }
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cher.c refblas3-1.2/cblas/src/cblas_cher.c
--- blas-1.1/cblas/src/cblas_cher.c	Mon Mar 15 15:11:12 1999
+++ refblas3-1.2/cblas/src/cblas_cher.c	Thu Jun 12 10:28:15 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,14 +103,14 @@
    } else 
    {
       cblas_xerbla(1, "cblas_cher","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
    if(X!=x) 
       free(x);
    
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cher2.c refblas3-1.2/cblas/src/cblas_cher2.c
--- blas-1.1/cblas/src/cblas_cher2.c	Mon Mar 15 15:11:13 1999
+++ refblas3-1.2/cblas/src/cblas_cher2.c	Thu Jun 12 10:28:15 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher2","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -137,7 +137,7 @@
    } else 
    {
       cblas_xerbla(1, "cblas_cher2","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -146,7 +146,7 @@
    if(Y!=y)
       free(y);
 
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cher2k.c refblas3-1.2/cblas/src/cblas_cher2k.c
--- blas-1.1/cblas/src/cblas_cher2k.c	Mon Mar 15 15:11:14 1999
+++ refblas3-1.2/cblas/src/cblas_cher2k.c	Thu Jun 12 10:28:15 2003
@@ -39,7 +39,7 @@
    float ALPHA[2]; 
    const float *alp=(float *)alpha;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    RowMajorStrg = 0;
 
    if( Order == CblasColMajor )
@@ -50,7 +50,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cher2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cher2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -91,7 +91,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cher2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -105,7 +105,7 @@
       F77_cher2k(F77_UL,F77_TR, &F77_N, &F77_K, ALPHA, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_cher2k", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_cherk.c refblas3-1.2/cblas/src/cblas_cherk.c
--- blas-1.1/cblas/src/cblas_cherk.c	Mon Mar 15 15:11:15 1999
+++ refblas3-1.2/cblas/src/cblas_cherk.c	Thu Jun 12 10:28:15 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_cherk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cherk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -75,7 +75,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cherk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -85,7 +85,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_cherk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -99,7 +99,7 @@
                 &beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_cherk", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chpmv.c refblas3-1.2/cblas/src/cblas_chpmv.c
--- blas-1.1/cblas/src/cblas_chpmv.c	Mon Mar 15 15:11:16 1999
+++ refblas3-1.2/cblas/src/cblas_chpmv.c	Thu Jun 12 10:28:15 2003
@@ -37,7 +37,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1; 
+   mcblas_fix_info=cblas_fix_info; 
    if (order == CblasColMajor)
    { 
       if (Uplo == CblasLower) UL = 'L';
@@ -45,7 +45,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -120,7 +120,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpmv","Illegal Uplo setting, %d\n", Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -134,7 +134,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_chpmv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -154,7 +154,7 @@
      }
   }
 
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chpr.c refblas3-1.2/cblas/src/cblas_chpr.c
--- blas-1.1/cblas/src/cblas_chpr.c	Mon Mar 15 15:11:17 1999
+++ refblas3-1.2/cblas/src/cblas_chpr.c	Thu Jun 12 10:28:15 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpr","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,13 +103,13 @@
    } else 
    {
       cblas_xerbla(1, "cblas_chpr","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
    if(X!=x)
      free(x);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_chpr2.c refblas3-1.2/cblas/src/cblas_chpr2.c
--- blas-1.1/cblas/src/cblas_chpr2.c	Mon Mar 15 15:11:18 1999
+++ refblas3-1.2/cblas/src/cblas_chpr2.c	Thu Jun 12 10:28:15 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -62,7 +62,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_chpr2","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -135,7 +135,7 @@
    } else 
    {
       cblas_xerbla(1, "cblas_chpr2","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -143,7 +143,7 @@
       free(x);
    if(Y!=y)
       free(y);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_csymm.c refblas3-1.2/cblas/src/cblas_csymm.c
--- blas-1.1/cblas/src/cblas_csymm.c	Mon Mar 15 15:11:19 1999
+++ refblas3-1.2/cblas/src/cblas_csymm.c	Thu Jun 12 10:28:15 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_csymm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csymm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_csymm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -86,7 +86,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csymm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
                      B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_csymm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_csyr2k.c refblas3-1.2/cblas/src/cblas_csyr2k.c
--- blas-1.1/cblas/src/cblas_csyr2k.c	Mon Mar 15 15:11:20 1999
+++ refblas3-1.2/cblas/src/cblas_csyr2k.c	Thu Jun 12 10:28:15 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_csyr2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyr2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyr2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -89,7 +89,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyr2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       F77_csyr2k(F77_UL, F77_TR, &F77_N, &F77_K, alpha, A, &F77_lda, B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_csyr2k", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_csyrk.c refblas3-1.2/cblas/src/cblas_csyrk.c
--- blas-1.1/cblas/src/cblas_csyrk.c	Mon Mar 15 15:11:21 1999
+++ refblas3-1.2/cblas/src/cblas_csyrk.c	Thu Jun 12 10:28:15 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -45,7 +45,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_csyrk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyrk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyrk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -87,7 +87,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_csyrk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -101,7 +101,7 @@
                      beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_csyrk", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctbmv.c refblas3-1.2/cblas/src/cblas_ctbmv.c
--- blas-1.1/cblas/src/cblas_ctbmv.c	Mon Mar 15 15:11:22 1999
+++ refblas3-1.2/cblas/src/cblas_ctbmv.c	Thu Jun 12 10:28:15 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctbmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -152,7 +152,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctbsv.c refblas3-1.2/cblas/src/cblas_ctbsv.c
--- blas-1.1/cblas/src/cblas_ctbsv.c	Mon Mar 15 15:11:23 1999
+++ refblas3-1.2/cblas/src/cblas_ctbsv.c	Thu Jun 12 10:28:15 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -119,7 +119,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -129,7 +129,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -156,7 +156,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctbsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctpmv.c refblas3-1.2/cblas/src/cblas_ctpmv.c
--- blas-1.1/cblas/src/cblas_ctpmv.c	Mon Mar 15 15:11:24 1999
+++ refblas3-1.2/cblas/src/cblas_ctpmv.c	Thu Jun 12 10:28:15 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -51,7 +51,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -111,7 +111,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -121,7 +121,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -146,7 +146,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctpmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctpsv.c refblas3-1.2/cblas/src/cblas_ctpsv.c
--- blas-1.1/cblas/src/cblas_ctpsv.c	Mon Mar 15 15:11:25 1999
+++ refblas3-1.2/cblas/src/cblas_ctpsv.c	Thu Jun 12 10:28:15 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -51,7 +51,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -151,7 +151,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctpsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctrmm.c refblas3-1.2/cblas/src/cblas_ctrmm.c
--- blas-1.1/cblas/src/cblas_ctrmm.c	Mon Mar 15 15:11:26 1999
+++ refblas3-1.2/cblas/src/cblas_ctrmm.c	Thu Jun 12 10:28:21 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrmm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrmm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrmm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrmm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrmm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -113,7 +113,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrmm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -123,7 +123,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ctrmm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -138,7 +138,7 @@
       F77_ctrmm(F77_SD, F77_UL, F77_TA, F77_DI, &F77_N, &F77_M, alpha, A, &F77_lda, B, &F77_ldb);
    } 
    else  cblas_xerbla(1, "cblas_ctrmm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctrmv.c refblas3-1.2/cblas/src/cblas_ctrmv.c
--- blas-1.1/cblas/src/cblas_ctrmv.c	Mon Mar 15 15:11:27 1999
+++ refblas3-1.2/cblas/src/cblas_ctrmv.c	Thu Jun 12 10:28:21 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -114,7 +114,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -124,7 +124,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -149,7 +149,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctrmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctrsm.c refblas3-1.2/cblas/src/cblas_ctrsm.c
--- blas-1.1/cblas/src/cblas_ctrsm.c	Mon Mar 15 15:11:28 1999
+++ refblas3-1.2/cblas/src/cblas_ctrsm.c	Thu Jun 12 10:28:21 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -57,7 +57,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -68,7 +68,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -78,7 +78,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ctrsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -101,7 +101,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -111,7 +111,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -122,7 +122,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -132,7 +132,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ctrsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -149,7 +149,7 @@
                 &F77_lda, B, &F77_ldb);
    } 
    else cblas_xerbla(1, "cblas_ctrsm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ctrsv.c refblas3-1.2/cblas/src/cblas_ctrsv.c
--- blas-1.1/cblas/src/cblas_ctrsv.c	Mon Mar 15 15:11:29 1999
+++ refblas3-1.2/cblas/src/cblas_ctrsv.c	Thu Jun 12 10:28:21 2003
@@ -35,7 +35,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -43,7 +43,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -53,7 +53,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -62,7 +62,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -82,7 +82,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ctrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ctrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ctrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -150,7 +150,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ctrsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dgbmv.c refblas3-1.2/cblas/src/cblas_dgbmv.c
--- blas-1.1/cblas/src/cblas_dgbmv.c	Mon Mar 15 15:11:30 1999
+++ refblas3-1.2/cblas/src/cblas_dgbmv.c	Thu Jun 12 10:28:21 2003
@@ -37,7 +37,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -65,7 +65,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,6 +76,6 @@
                      A ,&F77_lda, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_dgbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_dgemm.c refblas3-1.2/cblas/src/cblas_dgemm.c
--- blas-1.1/cblas/src/cblas_dgemm.c	Mon Mar 15 15:11:31 1999
+++ refblas3-1.2/cblas/src/cblas_dgemm.c	Thu Jun 12 10:28:21 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -48,7 +48,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgemm","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dgemm","Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -80,7 +80,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgemm","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -90,7 +90,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgemm","Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
                   &F77_ldb, A, &F77_lda, &beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_dgemm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dgemv.c refblas3-1.2/cblas/src/cblas_dgemv.c
--- blas-1.1/cblas/src/cblas_dgemv.c	Mon Mar 15 15:11:32 1999
+++ refblas3-1.2/cblas/src/cblas_dgemv.c	Thu Jun 12 10:28:21 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -72,7 +72,7 @@
                 &F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_dgemv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dger.c refblas3-1.2/cblas/src/cblas_dger.c
--- blas-1.1/cblas/src/cblas_dger.c	Mon Mar 15 15:11:32 1999
+++ refblas3-1.2/cblas/src/cblas_dger.c	Thu Jun 12 10:28:21 2003
@@ -27,7 +27,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       F77_dger( &F77_M, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, A, 
@@ -41,7 +41,7 @@
 
    }
    else cblas_xerbla(1, "cblas_dger", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dsbmv.c refblas3-1.2/cblas/src/cblas_dsbmv.c
--- blas-1.1/cblas/src/cblas_dsbmv.c	Mon Mar 15 15:11:33 1999
+++ refblas3-1.2/cblas/src/cblas_dsbmv.c	Thu Jun 12 10:28:21 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsbmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -71,7 +71,7 @@
                      A ,&F77_lda, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_dsbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dspmv.c refblas3-1.2/cblas/src/cblas_dspmv.c
--- blas-1.1/cblas/src/cblas_dspmv.c	Mon Mar 15 15:11:34 1999
+++ refblas3-1.2/cblas/src/cblas_dspmv.c	Thu Jun 12 10:28:21 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
                      AP, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_dspmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dspr.c refblas3-1.2/cblas/src/cblas_dspr.c
--- blas-1.1/cblas/src/cblas_dspr.c	Mon Mar 15 15:11:36 1999
+++ refblas3-1.2/cblas/src/cblas_dspr.c	Thu Jun 12 10:28:21 2003
@@ -29,7 +29,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -37,7 +37,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -64,7 +64,7 @@
       #endif  
       F77_dspr(F77_UL, &F77_N, &alpha, X, &F77_incX, Ap); 
    } else cblas_xerbla(1, "cblas_dspr", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dspr2.c refblas3-1.2/cblas/src/cblas_dspr2.c
--- blas-1.1/cblas/src/cblas_dspr2.c	Mon Mar 15 15:11:37 1999
+++ refblas3-1.2/cblas/src/cblas_dspr2.c	Thu Jun 12 10:28:21 2003
@@ -29,7 +29,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -37,7 +37,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dspr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -64,7 +64,7 @@
       #endif  
       F77_dspr2(F77_UL, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY,  A); 
    } else cblas_xerbla(1, "cblas_dspr2", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dsymm.c refblas3-1.2/cblas/src/cblas_dsymm.c
--- blas-1.1/cblas/src/cblas_dsymm.c	Mon Mar 15 15:11:38 1999
+++ refblas3-1.2/cblas/src/cblas_dsymm.c	Thu Jun 12 10:28:21 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsymm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsymm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsymm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -86,7 +86,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsymm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
                  &F77_ldb, &beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_dsymm","Illegal Order setting, %d\n", Order); 
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_dsymv.c refblas3-1.2/cblas/src/cblas_dsymv.c
--- blas-1.1/cblas/src/cblas_dsymv.c	Mon Mar 15 15:11:39 1999
+++ refblas3-1.2/cblas/src/cblas_dsymv.c	Thu Jun 12 10:28:21 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsymv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsymv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
                      A ,&F77_lda, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_dsymv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dsyr.c refblas3-1.2/cblas/src/cblas_dsyr.c
--- blas-1.1/cblas/src/cblas_dsyr.c	Mon Mar 15 15:11:39 1999
+++ refblas3-1.2/cblas/src/cblas_dsyr.c	Thu Jun 12 10:28:21 2003
@@ -30,7 +30,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -38,7 +38,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -65,7 +65,7 @@
       #endif  
       F77_dsyr(F77_UL, &F77_N, &alpha, X, &F77_incX, A, &F77_lda); 
    } else cblas_xerbla(1, "cblas_dsyr", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_dsyr2.c refblas3-1.2/cblas/src/cblas_dsyr2.c
--- blas-1.1/cblas/src/cblas_dsyr2.c	Mon Mar 15 15:11:40 1999
+++ refblas3-1.2/cblas/src/cblas_dsyr2.c	Thu Jun 12 10:28:21 2003
@@ -33,7 +33,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
       F77_dsyr2(F77_UL, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY,  A, 
                     &F77_lda); 
    } else cblas_xerbla(1, "cblas_dsyr2", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dsyr2k.c refblas3-1.2/cblas/src/cblas_dsyr2k.c
--- blas-1.1/cblas/src/cblas_dsyr2k.c	Mon Mar 15 15:11:41 1999
+++ refblas3-1.2/cblas/src/cblas_dsyr2k.c	Thu Jun 12 10:28:22 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyr2k","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyr2k","Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyr2k","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -89,7 +89,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyr2k","Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
                 &F77_ldb, &beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_dsyr2k","Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dsyrk.c refblas3-1.2/cblas/src/cblas_dsyrk.c
--- blas-1.1/cblas/src/cblas_dsyrk.c	Mon Mar 15 15:11:42 1999
+++ refblas3-1.2/cblas/src/cblas_dsyrk.c	Thu Jun 12 10:28:22 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -45,7 +45,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dsyrk","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyrk","Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyrk","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -87,7 +87,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dsyrk","Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -101,7 +101,7 @@
                      &beta, C, &F77_ldc);
    } 
    else cblas_xerbla(1, "cblas_dsyrk","Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtbmv.c refblas3-1.2/cblas/src/cblas_dtbmv.c
--- blas-1.1/cblas/src/cblas_dtbmv.c	Mon Mar 15 15:11:43 1999
+++ refblas3-1.2/cblas/src/cblas_dtbmv.c	Thu Jun 12 10:28:22 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtbmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -117,6 +117,6 @@
 
    }
    else cblas_xerbla(1, "cblas_dtbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtbsv.c refblas3-1.2/cblas/src/cblas_dtbsv.c
--- blas-1.1/cblas/src/cblas_dtbsv.c	Mon Mar 15 15:11:44 1999
+++ refblas3-1.2/cblas/src/cblas_dtbsv.c	Thu Jun 12 10:28:22 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -116,7 +116,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_dtbsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtpmv.c refblas3-1.2/cblas/src/cblas_dtpmv.c
--- blas-1.1/cblas/src/cblas_dtpmv.c	Mon Mar 15 15:11:45 1999
+++ refblas3-1.2/cblas/src/cblas_dtpmv.c	Thu Jun 12 10:28:22 2003
@@ -31,7 +31,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -49,7 +49,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -88,7 +88,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -98,7 +98,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -111,7 +111,7 @@
       F77_dtpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X,&F77_incX);
    }
    else cblas_xerbla(1, "cblas_dtpmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtpsv.c refblas3-1.2/cblas/src/cblas_dtpsv.c
--- blas-1.1/cblas/src/cblas_dtpsv.c	Mon Mar 15 15:11:46 1999
+++ refblas3-1.2/cblas/src/cblas_dtpsv.c	Thu Jun 12 10:28:22 2003
@@ -31,7 +31,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -49,7 +49,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -88,7 +88,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -98,7 +98,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -112,7 +112,7 @@
 
    }
    else cblas_xerbla(1, "cblas_dtpsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtrmm.c refblas3-1.2/cblas/src/cblas_dtrmm.c
--- blas-1.1/cblas/src/cblas_dtrmm.c	Mon Mar 15 15:11:47 1999
+++ refblas3-1.2/cblas/src/cblas_dtrmm.c	Thu Jun 12 10:28:22 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrmm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrmm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrmm","Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_dtrmm","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -97,7 +97,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrmm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -107,7 +107,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrmm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -118,7 +118,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrmm","Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -128,7 +128,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_dtrmm","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -142,7 +142,7 @@
       F77_dtrmm(F77_SD, F77_UL, F77_TA, F77_DI, &F77_N, &F77_M, &alpha, A, &F77_lda, B, &F77_ldb);
    } 
    else cblas_xerbla(1, "cblas_dtrmm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtrmv.c refblas3-1.2/cblas/src/cblas_dtrmv.c
--- blas-1.1/cblas/src/cblas_dtrmv.c	Mon Mar 15 15:11:48 1999
+++ refblas3-1.2/cblas/src/cblas_dtrmv.c	Thu Jun 12 10:28:22 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -94,7 +94,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -104,7 +104,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -116,7 +116,7 @@
       F77_dtrmv( F77_UL, F77_TA, F77_DI, &F77_N, A, &F77_lda, X,
                       &F77_incX);
    } else cblas_xerbla(1, "cblas_dtrmv", "Illegal order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtrsm.c refblas3-1.2/cblas/src/cblas_dtrsm.c
--- blas-1.1/cblas/src/cblas_dtrsm.c	Mon Mar 15 15:11:49 1999
+++ refblas3-1.2/cblas/src/cblas_dtrsm.c	Thu Jun 12 10:28:22 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrsm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrsm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -67,7 +67,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrsm","Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_dtrsm","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrsm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -110,7 +110,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrsm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -121,7 +121,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrsm","Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -131,7 +131,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_dtrsm","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -147,7 +147,7 @@
                &F77_lda, B, &F77_ldb);
    } 
    else cblas_xerbla(1, "cblas_dtrsm","Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_dtrsv.c refblas3-1.2/cblas/src/cblas_dtrsv.c
--- blas-1.1/cblas/src/cblas_dtrsv.c	Mon Mar 15 15:11:50 1999
+++ refblas3-1.2/cblas/src/cblas_dtrsv.c	Thu Jun 12 10:28:22 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_dtrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_dtrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_dtrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_dtrsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_f77.h refblas3-1.2/cblas/src/cblas_f77.h
--- blas-1.1/cblas/src/cblas_f77.h	Sat Mar 13 01:08:55 1999
+++ refblas3-1.2/cblas/src/cblas_f77.h	Thu Jun 12 10:29:04 2003
@@ -6,6 +6,9 @@
  * Merged cblas_f77.h and cblas_fortran_header.h
  */
 
+#include <string.h>
+#include <stdlib.h>
+ 
 #ifndef CBLAS_F77_H
 #define CBLAS_f77_H
 
@@ -29,14 +32,17 @@
 
 #ifdef F77_INT
    #define FINT const F77_INT *
+   #define FINT2 F77_INT *
 #else
    #define FINT const int *
+   #define FINT2 int *
 #endif
 
 #if defined(ADD_)
 /*
  * Level 1 BLAS
  */
+#define F77_xerbli xerbli_
 #define F77_xerbla xerbla_
    #define F77_srotg      srotg_
    #define F77_srotmg     srotmg_
@@ -190,6 +196,7 @@
 /*
  * Level 1 BLAS
  */
+#define F77_xerbli  XERBLI
 #define F77_xerbla  XERBLA
    #define F77_srotg      SROTG
    #define F77_srotmg     SROTMG
@@ -343,6 +350,7 @@
 /*
  * Level 1 BLAS
  */
+#define F77_xerbli  xerbli
 #define F77_xerbla  xerbla
    #define F77_srotg      srotg
    #define F77_srotmg     srotmg
@@ -494,7 +502,8 @@
    #define F77_ztrsm      ztrsm
 #endif
 
-   void F77_xerbla(FCHAR, void *);
+void F77_xerbla(FCHAR, void *);
+
 /*
  * Level 1 Fortran Prototypes
  */
@@ -513,7 +522,7 @@
    void F77_sscal( FINT, const float *, float *, FINT);
    void F77_snrm2_sub( FINT, const float *, FINT, float *);
    void F77_sasum_sub( FINT, const float *, FINT, float *);
-   void F77_isamax_sub( FINT, const float * , FINT, FINT);
+   void F77_isamax_sub( FINT, const float * , FINT, FINT2);
 
 /* Double Precision */
 
@@ -530,7 +539,7 @@
    void F77_dscal( FINT, const double *, double *, FINT);
    void F77_dnrm2_sub( FINT, const double *, FINT, double *);
    void F77_dasum_sub( FINT, const double *, FINT, double *);
-   void F77_idamax_sub( FINT, const double * , FINT, FINT);
+   void F77_idamax_sub( FINT, const double * , FINT, FINT2);
 
 /* Single Complex Precision */
 
@@ -541,7 +550,7 @@
    void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
    void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
    void F77_cscal( FINT, const void *, void *, FINT);
-   void F77_icamax_sub( FINT, const void *, FINT, FINT);
+   void F77_icamax_sub( FINT, const void *, FINT, FINT2);
    void F77_csscal( FINT, const float *, void *, FINT);
    void F77_scnrm2_sub( FINT, const void *, FINT, float *);
    void F77_scasum_sub( FINT, const void *, FINT, float *);
@@ -558,7 +567,7 @@
    void F77_zscal( FINT, const void *, void *, FINT);
    void F77_dznrm2_sub( FINT, const void *, FINT, double *);
    void F77_dzasum_sub( FINT, const void *, FINT, double *);
-   void F77_izamax_sub( FINT, const void *, FINT, FINT);
+   void F77_izamax_sub( FINT, const void *, FINT, FINT2);
 
 /*
  * Level 2 Fortran Prototypes
@@ -687,5 +696,69 @@
    void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
    void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
    void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
+
+static int RowMajorStrgi;
+
+static void
+cblas_fix_info(int *info,const char *rout) {
+
+   if (RowMajorStrgi)
+   {
+      if (strstr(rout,"gemm") != 0)
+      {
+         if      (*info == 5 ) *info =  4;
+         else if (*info == 4 ) *info =  5;
+         else if (*info == 11) *info =  9;
+         else if (*info == 9 ) *info = 11;
+      }
+      else if (strstr(rout,"symm") != 0 || strstr(rout,"hemm") != 0)
+      {
+         if      (*info == 5 ) *info =  4;
+         else if (*info == 4 ) *info =  5;
+      }
+      else if (strstr(rout,"trmm") != 0 || strstr(rout,"trsm") != 0)
+      {
+         if      (*info == 7 ) *info =  6;
+         else if (*info == 6 ) *info =  7;
+      }
+      else if (strstr(rout,"gemv") != 0)
+      {
+         if      (*info == 4)  *info = 3;
+         else if (*info == 3)  *info = 4;
+      }
+      else if (strstr(rout,"gbmv") != 0)
+      {
+         if      (*info == 4)  *info = 3;
+         else if (*info == 3)  *info = 4;
+         else if (*info == 6)  *info = 5;
+         else if (*info == 5)  *info = 6;
+      }
+      else if (strstr(rout,"ger") != 0)
+      {
+         if      (*info == 3) *info = 2;
+         else if (*info == 2) *info = 3;
+         else if (*info == 8) *info = 6;
+         else if (*info == 6) *info = 8;
+      }
+      else if ( (strstr(rout,"her2") != 0 || strstr(rout,"hpr2") != 0)
+                 && strstr(rout,"her2k") == 0 )
+      {
+         if      (*info == 8) *info = 6;
+         else if (*info == 6) *info = 8;
+      }
+   }
+}
+
+extern void (*mcblas_fix_info)(int *,const char *);
+
+#undef cblas_xerbla
+#define cblas_xerbla(a_,b_,c_...) {\
+   int aa_=(a_);\
+   if (mcblas_fix_info) (*mcblas_fix_info)(&(aa_),(b_));\
+   cblas_xerbla((aa_),(b_),##c_);\
+}
+
+#undef RowMajorStrg
+#define RowMajorStrg RowMajorStrgi
 
 #endif /*  CBLAS_F77_H */
diff -ruN blas-1.1/cblas/src/cblas_globals.c refblas3-1.2/cblas/src/cblas_globals.c
--- blas-1.1/cblas/src/cblas_globals.c	Mon Mar 15 15:11:51 1999
+++ refblas3-1.2/cblas/src/cblas_globals.c	Tue Jun 10 17:09:15 2003
@@ -1,2 +1,2 @@
-int CBLAS_CallFromC=0;
-int RowMajorStrg=0;
+static int CBLAS_CallFromC;
+static int RowMajorStrg;
diff -ruN blas-1.1/cblas/src/cblas_icamax.c refblas3-1.2/cblas/src/cblas_icamax.c
--- blas-1.1/cblas/src/cblas_icamax.c	Fri Mar 12 22:44:54 1999
+++ refblas3-1.2/cblas/src/cblas_icamax.c	Mon Jun  9 14:56:34 2003
@@ -19,5 +19,5 @@
    #define F77_incX incX
 #endif
    F77_icamax_sub( &F77_N, X, &F77_incX, &iamax);
-   return iamax;
+   return iamax ? iamax-1 : 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_idamax.c refblas3-1.2/cblas/src/cblas_idamax.c
--- blas-1.1/cblas/src/cblas_idamax.c	Fri Mar 12 22:44:55 1999
+++ refblas3-1.2/cblas/src/cblas_idamax.c	Mon Jun  9 14:56:53 2003
@@ -19,5 +19,5 @@
    #define F77_incX incX
 #endif
    F77_idamax_sub( &F77_N, X, &F77_incX, &iamax);
-   return iamax;
+   return iamax ? iamax-1 : 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_isamax.c refblas3-1.2/cblas/src/cblas_isamax.c
--- blas-1.1/cblas/src/cblas_isamax.c	Fri Mar 12 22:44:56 1999
+++ refblas3-1.2/cblas/src/cblas_isamax.c	Mon Jun  9 14:57:03 2003
@@ -19,5 +19,5 @@
    #define F77_incX incX
 #endif
    F77_isamax_sub( &F77_N, X, &F77_incX, &iamax);
-   return iamax;
+   return iamax ? iamax-1 : 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_izamax.c refblas3-1.2/cblas/src/cblas_izamax.c
--- blas-1.1/cblas/src/cblas_izamax.c	Fri Mar 12 22:44:57 1999
+++ refblas3-1.2/cblas/src/cblas_izamax.c	Mon Jun  9 14:57:20 2003
@@ -19,5 +19,5 @@
    #define F77_incX incX
 #endif
    F77_izamax_sub( &F77_N, X, &F77_incX, &iamax);
-   return iamax;
+   return iamax ? iamax-1 : 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_sgbmv.c refblas3-1.2/cblas/src/cblas_sgbmv.c
--- blas-1.1/cblas/src/cblas_sgbmv.c	Mon Mar 15 15:11:52 1999
+++ refblas3-1.2/cblas/src/cblas_sgbmv.c	Thu Jun 12 10:28:22 2003
@@ -38,7 +38,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
                      A ,&F77_lda, X, &F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_sgbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_sgemm.c refblas3-1.2/cblas/src/cblas_sgemm.c
--- blas-1.1/cblas/src/cblas_sgemm.c	Mon Mar 15 15:11:53 1999
+++ refblas3-1.2/cblas/src/cblas_sgemm.c	Thu Jun 12 10:28:22 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if( Order == CblasColMajor )
    {
       if(TransA == CblasTrans) TA='T';
@@ -48,7 +48,7 @@
       {
          cblas_xerbla(2, "cblas_sgemm", 
                        "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       {
          cblas_xerbla(3, "cblas_sgemm", 
                        "Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       {
          cblas_xerbla(2, "cblas_sgemm", 
                        "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       {
          cblas_xerbla(2, "cblas_sgemm", 
                        "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -105,6 +105,6 @@
    } else  
      cblas_xerbla(1, "cblas_sgemm",
                      "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_sgemv.c refblas3-1.2/cblas/src/cblas_sgemv.c
--- blas-1.1/cblas/src/cblas_sgemv.c	Mon Mar 15 15:11:54 1999
+++ refblas3-1.2/cblas/src/cblas_sgemv.c	Thu Jun 12 10:28:22 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -43,7 +43,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
       }
       #ifdef F77_CHAR
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sgemv", "Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -72,7 +72,7 @@
                 &F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_sgemv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_sger.c refblas3-1.2/cblas/src/cblas_sger.c
--- blas-1.1/cblas/src/cblas_sger.c	Mon Mar 15 15:11:55 1999
+++ refblas3-1.2/cblas/src/cblas_sger.c	Thu Jun 12 10:28:22 2003
@@ -27,7 +27,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       F77_sger( &F77_M, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, A,
@@ -40,7 +40,7 @@
         &F77_lda);
    }
    else cblas_xerbla(1, "cblas_sger", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ssbmv.c refblas3-1.2/cblas/src/cblas_ssbmv.c
--- blas-1.1/cblas/src/cblas_ssbmv.c	Mon Mar 15 15:11:56 1999
+++ refblas3-1.2/cblas/src/cblas_ssbmv.c	Thu Jun 12 10:28:22 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
    
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssbmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
       &F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_ssbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_sspmv.c refblas3-1.2/cblas/src/cblas_sspmv.c
--- blas-1.1/cblas/src/cblas_sspmv.c	Mon Mar 15 15:11:57 1999
+++ refblas3-1.2/cblas/src/cblas_sspmv.c	Thu Jun 12 10:28:22 2003
@@ -31,7 +31,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -57,7 +57,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -68,6 +68,6 @@
                      AP, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_sspmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_sspr.c refblas3-1.2/cblas/src/cblas_sspr.c
--- blas-1.1/cblas/src/cblas_sspr.c	Mon Mar 15 15:11:58 1999
+++ refblas3-1.2/cblas/src/cblas_sspr.c	Thu Jun 12 10:28:22 2003
@@ -31,7 +31,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -57,7 +57,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       #endif  
       F77_sspr(F77_UL, &F77_N, &alpha, X, &F77_incX, Ap); 
    } else cblas_xerbla(1, "cblas_sspr", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_sspr2.c refblas3-1.2/cblas/src/cblas_sspr2.c
--- blas-1.1/cblas/src/cblas_sspr2.c	Mon Mar 15 15:11:59 1999
+++ refblas3-1.2/cblas/src/cblas_sspr2.c	Thu Jun 12 10:28:22 2003
@@ -31,7 +31,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -57,7 +57,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_sspr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,6 +66,6 @@
       #endif  
       F77_sspr2(F77_UL, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY,  A); 
    } else cblas_xerbla(1, "cblas_sspr2", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
 }
diff -ruN blas-1.1/cblas/src/cblas_ssymm.c refblas3-1.2/cblas/src/cblas_ssymm.c
--- blas-1.1/cblas/src/cblas_ssymm.c	Mon Mar 15 15:12:00 1999
+++ refblas3-1.2/cblas/src/cblas_ssymm.c	Thu Jun 12 10:28:22 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       {
          cblas_xerbla(2, "cblas_ssymm", 
                        "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       {
          cblas_xerbla(3, "cblas_ssymm", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -78,7 +78,7 @@
       {
          cblas_xerbla(2, "cblas_ssymm", 
                        "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -89,7 +89,7 @@
       {
          cblas_xerbla(3, "cblas_ssymm", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       F77_ssymm(F77_SD, F77_UL, &F77_N, &F77_M, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
    } else  cblas_xerbla(1, "cblas_ssymm",
                      "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_ssymv.c refblas3-1.2/cblas/src/cblas_ssymv.c
--- blas-1.1/cblas/src/cblas_ssymv.c	Mon Mar 15 15:12:00 1999
+++ refblas3-1.2/cblas/src/cblas_ssymv.c	Thu Jun 12 10:28:22 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssymv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssymv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
                      A ,&F77_lda, X,&F77_incX, &beta, Y, &F77_incY);
    }
    else cblas_xerbla(1, "cblas_ssymv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ssyr.c refblas3-1.2/cblas/src/cblas_ssyr.c
--- blas-1.1/cblas/src/cblas_ssyr.c	Mon Mar 15 15:12:01 1999
+++ refblas3-1.2/cblas/src/cblas_ssyr.c	Thu Jun 12 10:28:22 2003
@@ -29,7 +29,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -37,7 +37,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssyr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssyr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -64,7 +64,7 @@
       #endif  
       F77_ssyr(F77_UL, &F77_N, &alpha, X, &F77_incX, A, &F77_lda); 
    } else cblas_xerbla(1, "cblas_ssyr", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_ssyr2.c refblas3-1.2/cblas/src/cblas_ssyr2.c
--- blas-1.1/cblas/src/cblas_ssyr2.c	Mon Mar 15 15:12:02 1999
+++ refblas3-1.2/cblas/src/cblas_ssyr2.c	Thu Jun 12 10:28:22 2003
@@ -33,7 +33,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssyr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ssyr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -70,7 +70,7 @@
       F77_ssyr2(F77_UL, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY,  A, 
                     &F77_lda); 
    } else cblas_xerbla(1, "cblas_ssyr2", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ssyr2k.c refblas3-1.2/cblas/src/cblas_ssyr2k.c
--- blas-1.1/cblas/src/cblas_ssyr2k.c	Mon Mar 15 15:12:03 1999
+++ refblas3-1.2/cblas/src/cblas_ssyr2k.c	Thu Jun 12 10:28:22 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -48,7 +48,7 @@
       {
          cblas_xerbla(2, "cblas_ssyr2k", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       {
          cblas_xerbla(3, "cblas_ssyr2k", 
                        "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       {
          cblas_xerbla(3, "cblas_ssyr2k", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       {
          cblas_xerbla(3, "cblas_ssyr2k", 
                        "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -105,7 +105,7 @@
       F77_ssyr2k(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
    } else  cblas_xerbla(1, "cblas_ssyr2k",
                      "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ssyrk.c refblas3-1.2/cblas/src/cblas_ssyrk.c
--- blas-1.1/cblas/src/cblas_ssyrk.c	Mon Mar 15 15:12:04 1999
+++ refblas3-1.2/cblas/src/cblas_ssyrk.c	Thu Jun 12 10:28:22 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       {
          cblas_xerbla(2, "cblas_ssyrk", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       {
          cblas_xerbla(3, "cblas_ssyrk", 
                        "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       {
          cblas_xerbla(3, "cblas_ssyrk", 
                        "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -90,7 +90,7 @@
       {
          cblas_xerbla(3, "cblas_ssyrk", 
                        "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
       F77_ssyrk(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda, &beta, C, &F77_ldc);
    } else  cblas_xerbla(1, "cblas_ssyrk",
                      "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_stbmv.c refblas3-1.2/cblas/src/cblas_stbmv.c
--- blas-1.1/cblas/src/cblas_stbmv.c	Mon Mar 15 15:12:05 1999
+++ refblas3-1.2/cblas/src/cblas_stbmv.c	Thu Jun 12 10:28:23 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stbmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -116,7 +116,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_stbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_stbsv.c refblas3-1.2/cblas/src/cblas_stbsv.c
--- blas-1.1/cblas/src/cblas_stbsv.c	Mon Mar 15 15:12:06 1999
+++ refblas3-1.2/cblas/src/cblas_stbsv.c	Thu Jun 12 10:28:23 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL  = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -116,7 +116,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_stbsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_stpmv.c refblas3-1.2/cblas/src/cblas_stpmv.c
--- blas-1.1/cblas/src/cblas_stpmv.c	Mon Mar 15 15:12:08 1999
+++ refblas3-1.2/cblas/src/cblas_stpmv.c	Thu Jun 12 10:28:23 2003
@@ -32,7 +32,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -40,7 +40,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -50,7 +50,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -78,7 +78,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -89,7 +89,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -99,7 +99,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -112,7 +112,7 @@
       F77_stpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X,&F77_incX);
    }
    else cblas_xerbla(1, "cblas_stpmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_stpsv.c refblas3-1.2/cblas/src/cblas_stpsv.c
--- blas-1.1/cblas/src/cblas_stpsv.c	Mon Mar 15 15:12:09 1999
+++ refblas3-1.2/cblas/src/cblas_stpsv.c	Thu Jun 12 10:28:23 2003
@@ -31,7 +31,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -39,7 +39,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -49,7 +49,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_stpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -88,7 +88,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_stpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -98,7 +98,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_stpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -112,7 +112,7 @@
 
    }
    else cblas_xerbla(1, "cblas_stpsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_strmm.c refblas3-1.2/cblas/src/cblas_strmm.c
--- blas-1.1/cblas/src/cblas_strmm.c	Mon Mar 15 15:12:10 1999
+++ refblas3-1.2/cblas/src/cblas_strmm.c	Thu Jun 12 10:28:23 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strmm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strmm","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strmm","Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_strmm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -97,7 +97,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strmm","Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -107,7 +107,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strmm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -118,7 +118,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strmm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -128,7 +128,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_strmm","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -142,7 +142,7 @@
       &F77_lda, B, &F77_ldb);
    } 
    else  cblas_xerbla(1, "cblas_strmm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_strmv.c refblas3-1.2/cblas/src/cblas_strmv.c
--- blas-1.1/cblas/src/cblas_strmv.c	Mon Mar 15 15:12:11 1999
+++ refblas3-1.2/cblas/src/cblas_strmv.c	Thu Jun 12 10:28:23 2003
@@ -35,7 +35,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -43,7 +43,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -53,7 +53,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -62,7 +62,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -82,7 +82,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -93,7 +93,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -116,7 +116,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_strmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_strsm.c refblas3-1.2/cblas/src/cblas_strsm.c
--- blas-1.1/cblas/src/cblas_strsm.c	Mon Mar 15 15:12:12 1999
+++ refblas3-1.2/cblas/src/cblas_strsm.c	Thu Jun 12 10:28:23 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -75,7 +75,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_strsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -95,7 +95,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -104,7 +104,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -114,7 +114,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -123,7 +123,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_strsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -137,7 +137,7 @@
       F77_strsm(F77_SD, F77_UL, F77_TA, F77_DI, &F77_N, &F77_M, &alpha, A, &F77_lda, B, &F77_ldb);
    } 
    else  cblas_xerbla(1, "cblas_strsm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_strsv.c refblas3-1.2/cblas/src/cblas_strsv.c
--- blas-1.1/cblas/src/cblas_strsv.c	Mon Mar 15 15:12:13 1999
+++ refblas3-1.2/cblas/src/cblas_strsv.c	Thu Jun 12 10:28:23 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_strsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -92,7 +92,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_strsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_strsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
                       &F77_incX);
    }
    else cblas_xerbla(1, "cblas_strsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_xerbla.c refblas3-1.2/cblas/src/cblas_xerbla.c
--- blas-1.1/cblas/src/cblas_xerbla.c	Mon Mar 15 15:12:14 1999
+++ refblas3-1.2/cblas/src/cblas_xerbla.c	Wed Jun 11 15:27:17 2003
@@ -5,58 +5,13 @@
 #include "cblas.h"
 #include "cblas_f77.h"
 
+#undef cblas_xerbla
 void cblas_xerbla(int info, const char *rout, const char *form, ...)
 {
-   extern RowMajorStrg;
    va_list argptr;
 
    va_start(argptr, form);
 
-   if (RowMajorStrg)
-   {
-      if (strstr(rout,"gemm") != 0)
-      {
-         if      (info == 5 ) info =  4;
-         else if (info == 4 ) info =  5;
-         else if (info == 11) info =  9;
-         else if (info == 9 ) info = 11;
-      }
-      else if (strstr(rout,"symm") != 0 || strstr(rout,"hemm") != 0)
-      {
-         if      (info == 5 ) info =  4;
-         else if (info == 4 ) info =  5;
-      }
-      else if (strstr(rout,"trmm") != 0 || strstr(rout,"trsm") != 0)
-      {
-         if      (info == 7 ) info =  6;
-         else if (info == 6 ) info =  7;
-      }
-      else if (strstr(rout,"gemv") != 0)
-      {
-         if      (info == 4)  info = 3;
-         else if (info == 3)  info = 4;
-      }
-      else if (strstr(rout,"gbmv") != 0)
-      {
-         if      (info == 4)  info = 3;
-         else if (info == 3)  info = 4;
-         else if (info == 6)  info = 5;
-         else if (info == 5)  info = 6;
-      }
-      else if (strstr(rout,"ger") != 0)
-      {
-         if      (info == 3) info = 2;
-         else if (info == 2) info = 3;
-         else if (info == 8) info = 6;
-         else if (info == 6) info = 8;
-      }
-      else if ( (strstr(rout,"her2") != 0 || strstr(rout,"hpr2") != 0)
-                 && strstr(rout,"her2k") == 0 )
-      {
-         if      (info == 8) info = 6;
-         else if (info == 6) info = 8;
-      }
-   }
    if (info)
       fprintf(stderr, "Parameter %d to routine %s was incorrect\n", info, rout);
    vfprintf(stderr, form, argptr);
diff -ruN blas-1.1/cblas/src/cblas_zgbmv.c refblas3-1.2/cblas/src/cblas_zgbmv.c
--- blas-1.1/cblas/src/cblas_zgbmv.c	Mon Mar 15 15:12:15 1999
+++ refblas3-1.2/cblas/src/cblas_zgbmv.c	Thu Jun 12 10:28:23 2003
@@ -43,7 +43,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (TransA == CblasNoTrans) TA = 'N';
@@ -52,7 +52,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -132,7 +132,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -160,7 +160,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_zgbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zgemm.c refblas3-1.2/cblas/src/cblas_zgemm.c
--- blas-1.1/cblas/src/cblas_zgemm.c	Mon Mar 15 15:12:16 1999
+++ refblas3-1.2/cblas/src/cblas_zgemm.c	Thu Jun 12 10:28:23 2003
@@ -38,7 +38,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -48,7 +48,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgemm","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zgemm","Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -80,7 +80,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgemm","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -90,7 +90,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgemm","Illegal TransB setting, %d\n", TransB);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,7 +103,7 @@
                   &F77_ldb, A, &F77_lda, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zgemm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zgemv.c refblas3-1.2/cblas/src/cblas_zgemv.c
--- blas-1.1/cblas/src/cblas_zgemv.c	Mon Mar 15 15:12:16 1999
+++ refblas3-1.2/cblas/src/cblas_zgemv.c	Thu Jun 12 10:28:23 2003
@@ -40,7 +40,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if (order == CblasColMajor)
    {
@@ -50,7 +50,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -129,7 +129,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zgemv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -158,7 +158,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_zgemv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zgerc.c refblas3-1.2/cblas/src/cblas_zgerc.c
--- blas-1.1/cblas/src/cblas_zgerc.c	Mon Mar 15 15:12:17 1999
+++ refblas3-1.2/cblas/src/cblas_zgerc.c	Thu Jun 12 10:28:23 2003
@@ -30,7 +30,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       F77_zgerc( &F77_M, &F77_N, alpha, X, &F77_incX, Y, &F77_incY, A, 
@@ -78,7 +78,7 @@
          free(y);
 
    } else cblas_xerbla(1, "cblas_zgerc", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zgeru.c refblas3-1.2/cblas/src/cblas_zgeru.c
--- blas-1.1/cblas/src/cblas_zgeru.c	Mon Mar 15 15:12:18 1999
+++ refblas3-1.2/cblas/src/cblas_zgeru.c	Thu Jun 12 10:28:23 2003
@@ -24,7 +24,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if (order == CblasColMajor)
    {
@@ -38,7 +38,7 @@
                       &F77_lda);
    }
    else cblas_xerbla(1, "cblas_zgeru", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zhbmv.c refblas3-1.2/cblas/src/cblas_zhbmv.c
--- blas-1.1/cblas/src/cblas_zhbmv.c	Mon Mar 15 15:12:19 1999
+++ refblas3-1.2/cblas/src/cblas_zhbmv.c	Thu Jun 12 10:28:23 2003
@@ -39,7 +39,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhbmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -121,7 +121,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -134,7 +134,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_zhbmv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -153,7 +153,7 @@
          while (y != st);
       }
    }
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zhemm.c refblas3-1.2/cblas/src/cblas_zhemm.c
--- blas-1.1/cblas/src/cblas_zhemm.c	Mon Mar 15 15:12:20 1999
+++ refblas3-1.2/cblas/src/cblas_zhemm.c	Thu Jun 12 10:28:23 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhemm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zhemm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhemm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -86,7 +86,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zhemm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
                  &F77_lda, B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zhemm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_zhemv.c refblas3-1.2/cblas/src/cblas_zhemv.c
--- blas-1.1/cblas/src/cblas_zhemv.c	Mon Mar 15 15:12:21 1999
+++ refblas3-1.2/cblas/src/cblas_zhemv.c	Thu Jun 12 10:28:23 2003
@@ -39,7 +39,7 @@
    RowMajorStrg = 0;
 
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhemv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -122,7 +122,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhemv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -135,7 +135,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_zhemv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -154,7 +154,7 @@
          while (y != st);
      }
    }
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zher.c refblas3-1.2/cblas/src/cblas_zher.c
--- blas-1.1/cblas/src/cblas_zher.c	Mon Mar 15 15:12:22 1999
+++ refblas3-1.2/cblas/src/cblas_zher.c	Thu Jun 12 10:28:23 2003
@@ -34,7 +34,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -42,7 +42,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -104,7 +104,7 @@
    if(X!=x) 
       free(x);
    
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zher2.c refblas3-1.2/cblas/src/cblas_zher2.c
--- blas-1.1/cblas/src/cblas_zher2.c	Mon Mar 15 15:12:23 1999
+++ refblas3-1.2/cblas/src/cblas_zher2.c	Thu Jun 12 10:28:23 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher2", "Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher2", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -138,7 +138,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_zher2", "Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -147,7 +147,7 @@
    if(Y!=y)
       free(y);
 
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zher2k.c refblas3-1.2/cblas/src/cblas_zher2k.c
--- blas-1.1/cblas/src/cblas_zher2k.c	Mon Mar 15 15:12:24 1999
+++ refblas3-1.2/cblas/src/cblas_zher2k.c	Thu Jun 12 10:28:23 2003
@@ -39,7 +39,7 @@
    double ALPHA[2]; 
    const double *alp=(double *)alpha;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    RowMajorStrg = 0;
 
    if( Order == CblasColMajor )
@@ -50,7 +50,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -61,7 +61,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zher2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -81,7 +81,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zher2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -91,7 +91,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zher2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -104,7 +104,7 @@
       ALPHA[1]= -alp[1];
       F77_zher2k(F77_UL,F77_TR, &F77_N, &F77_K, ALPHA, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
    } else  cblas_xerbla(1, "cblas_zher2k", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zherk.c refblas3-1.2/cblas/src/cblas_zherk.c
--- blas-1.1/cblas/src/cblas_zherk.c	Mon Mar 15 15:12:25 1999
+++ refblas3-1.2/cblas/src/cblas_zherk.c	Thu Jun 12 10:28:23 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zherk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zherk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -75,7 +75,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zherk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -85,7 +85,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zherk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -99,7 +99,7 @@
                 &beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zherk", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zhpmv.c refblas3-1.2/cblas/src/cblas_zhpmv.c
--- blas-1.1/cblas/src/cblas_zhpmv.c	Mon Mar 15 15:12:26 1999
+++ refblas3-1.2/cblas/src/cblas_zhpmv.c	Thu Jun 12 10:28:23 2003
@@ -37,7 +37,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1; 
+   mcblas_fix_info=cblas_fix_info; 
    if (order == CblasColMajor)
    { 
       if (Uplo == CblasLower) UL = 'L';
@@ -45,7 +45,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpmv","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -120,7 +120,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpmv","Illegal Uplo setting, %d\n", Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -134,7 +134,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_zhpmv","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -154,7 +154,7 @@
      }
   }
 
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zhpr.c refblas3-1.2/cblas/src/cblas_zhpr.c
--- blas-1.1/cblas/src/cblas_zhpr.c	Mon Mar 15 15:12:27 1999
+++ refblas3-1.2/cblas/src/cblas_zhpr.c	Thu Jun 12 10:28:23 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpr","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -59,7 +59,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpr","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -103,13 +103,13 @@
    } else 
    {
       cblas_xerbla(1, "cblas_zhpr","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
    if(X!=x)
      free(x);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zhpr2.c refblas3-1.2/cblas/src/cblas_zhpr2.c
--- blas-1.1/cblas/src/cblas_zhpr2.c	Mon Mar 15 15:12:28 1999
+++ refblas3-1.2/cblas/src/cblas_zhpr2.c	Thu Jun 12 10:28:23 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
  
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasLower) UL = 'L';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpr2","Illegal Uplo setting, %d\n",Uplo );
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -62,7 +62,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zhpr2","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -136,7 +136,7 @@
    else 
    {
       cblas_xerbla(1, "cblas_zhpr2","Illegal Order setting, %d\n", order);
-      CBLAS_CallFromC = 0;
+      mcblas_fix_info = NULL;
       RowMajorStrg = 0;
       return;
    }
@@ -144,7 +144,7 @@
       free(x);
    if(Y!=y)
       free(y);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zsymm.c refblas3-1.2/cblas/src/cblas_zsymm.c
--- blas-1.1/cblas/src/cblas_zsymm.c	Mon Mar 15 15:12:29 1999
+++ refblas3-1.2/cblas/src/cblas_zsymm.c	Thu Jun 12 10:28:23 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zsymm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsymm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zsymm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -86,7 +86,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsymm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -100,7 +100,7 @@
                      B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zsymm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 } 
diff -ruN blas-1.1/cblas/src/cblas_zsyr2k.c refblas3-1.2/cblas/src/cblas_zsyr2k.c
--- blas-1.1/cblas/src/cblas_zsyr2k.c	Mon Mar 15 15:12:30 1999
+++ refblas3-1.2/cblas/src/cblas_zsyr2k.c	Thu Jun 12 10:28:24 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zsyr2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -58,7 +58,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyr2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyr2k", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -89,7 +89,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyr2k", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -102,7 +102,7 @@
       F77_zsyr2k(F77_UL, F77_TR, &F77_N, &F77_K, alpha, A, &F77_lda, B, &F77_ldb, beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zsyr2k", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_zsyrk.c refblas3-1.2/cblas/src/cblas_zsyrk.c
--- blas-1.1/cblas/src/cblas_zsyrk.c	Mon Mar 15 15:12:31 1999
+++ refblas3-1.2/cblas/src/cblas_zsyrk.c	Thu Jun 12 10:28:24 2003
@@ -35,7 +35,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -45,7 +45,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_zsyrk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -56,7 +56,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyrk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -77,7 +77,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyrk", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -87,7 +87,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_zsyrk", "Illegal Trans setting, %d\n", Trans);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -101,7 +101,7 @@
                      beta, C, &F77_ldc);
    } 
    else  cblas_xerbla(1, "cblas_zsyrk", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztbmv.c refblas3-1.2/cblas/src/cblas_ztbmv.c
--- blas-1.1/cblas/src/cblas_ztbmv.c	Mon Mar 15 15:12:32 1999
+++ refblas3-1.2/cblas/src/cblas_ztbmv.c	Thu Jun 12 10:28:24 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztbmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztbmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztbmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -152,7 +152,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztbmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztbsv.c refblas3-1.2/cblas/src/cblas_ztbsv.c
--- blas-1.1/cblas/src/cblas_ztbsv.c	Mon Mar 15 15:12:33 1999
+++ refblas3-1.2/cblas/src/cblas_ztbsv.c	Thu Jun 12 10:28:24 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztbsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -119,7 +119,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztbsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -129,7 +129,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztbsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -156,7 +156,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztbsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztpmv.c refblas3-1.2/cblas/src/cblas_ztpmv.c
--- blas-1.1/cblas/src/cblas_ztpmv.c	Mon Mar 15 15:12:34 1999
+++ refblas3-1.2/cblas/src/cblas_ztpmv.c	Thu Jun 12 10:28:24 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -51,7 +51,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztpmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -111,7 +111,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztpmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -121,7 +121,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztpmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -146,7 +146,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztpmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztpsv.c refblas3-1.2/cblas/src/cblas_ztpsv.c
--- blas-1.1/cblas/src/cblas_ztpsv.c	Mon Mar 15 15:12:35 1999
+++ refblas3-1.2/cblas/src/cblas_ztpsv.c	Thu Jun 12 10:28:24 2003
@@ -33,7 +33,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -41,7 +41,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -51,7 +51,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -60,7 +60,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -79,7 +79,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztpsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztpsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztpsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -151,7 +151,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztpsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztrmm.c refblas3-1.2/cblas/src/cblas_ztrmm.c
--- blas-1.1/cblas/src/cblas_ztrmm.c	Mon Mar 15 15:12:36 1999
+++ refblas3-1.2/cblas/src/cblas_ztrmm.c	Thu Jun 12 10:28:24 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -46,7 +46,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrmm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -55,7 +55,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrmm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -66,7 +66,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrmm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -76,7 +76,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ztrmm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -97,7 +97,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrmm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -107,7 +107,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrmm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -118,7 +118,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrmm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -128,7 +128,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ztrmm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -143,7 +143,7 @@
       F77_ztrmm(F77_SD, F77_UL, F77_TA, F77_DI, &F77_N, &F77_M, alpha, A, &F77_lda, B, &F77_ldb);
    } 
    else  cblas_xerbla(1, "cblas_ztrmm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztrmv.c refblas3-1.2/cblas/src/cblas_ztrmv.c
--- blas-1.1/cblas/src/cblas_ztrmv.c	Mon Mar 15 15:12:37 1999
+++ refblas3-1.2/cblas/src/cblas_ztrmv.c	Thu Jun 12 10:28:24 2003
@@ -36,7 +36,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -44,7 +44,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -54,7 +54,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -63,7 +63,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -83,7 +83,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrmv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrmv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrmv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -150,7 +150,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztrmv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztrsm.c refblas3-1.2/cblas/src/cblas_ztrsm.c
--- blas-1.1/cblas/src/cblas_ztrsm.c	Mon Mar 15 15:12:38 1999
+++ refblas3-1.2/cblas/src/cblas_ztrsm.c	Thu Jun 12 10:28:24 2003
@@ -37,7 +37,7 @@
    extern int CBLAS_CallFromC;
    extern int RowMajorStrg;
    RowMajorStrg = 0;
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
 
    if( Order == CblasColMajor )
    {
@@ -47,7 +47,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -57,7 +57,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -68,7 +68,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -78,7 +78,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ztrsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -101,7 +101,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrsm", "Illegal Side setting, %d\n", Side);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -111,7 +111,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrsm", "Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -122,7 +122,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrsm", "Illegal Trans setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -132,7 +132,7 @@
       else 
       {
          cblas_xerbla(5, "cblas_ztrsm", "Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -149,7 +149,7 @@
                 &F77_lda, B, &F77_ldb);
    } 
    else  cblas_xerbla(1, "cblas_ztrsm", "Illegal Order setting, %d\n", Order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/cblas_ztrsv.c refblas3-1.2/cblas/src/cblas_ztrsv.c
--- blas-1.1/cblas/src/cblas_ztrsv.c	Mon Mar 15 15:12:39 1999
+++ refblas3-1.2/cblas/src/cblas_ztrsv.c	Thu Jun 12 10:28:24 2003
@@ -35,7 +35,7 @@
    extern int RowMajorStrg;
    RowMajorStrg = 0;
 
-   CBLAS_CallFromC = 1;
+   mcblas_fix_info=cblas_fix_info;
    if (order == CblasColMajor)
    {
       if (Uplo == CblasUpper) UL = 'U';
@@ -43,7 +43,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -53,7 +53,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -62,7 +62,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -82,7 +82,7 @@
       else 
       {
          cblas_xerbla(2, "cblas_ztrsv","Illegal Uplo setting, %d\n", Uplo);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -115,7 +115,7 @@
       else 
       {
          cblas_xerbla(3, "cblas_ztrsv","Illegal TransA setting, %d\n", TransA);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -125,7 +125,7 @@
       else 
       {
          cblas_xerbla(4, "cblas_ztrsv","Illegal Diag setting, %d\n", Diag);
-         CBLAS_CallFromC = 0;
+         mcblas_fix_info = NULL;
          RowMajorStrg = 0;
          return;
       }
@@ -150,7 +150,7 @@
       }
    }
    else cblas_xerbla(1, "cblas_ztrsv", "Illegal Order setting, %d\n", order);
-   CBLAS_CallFromC = 0;
+   mcblas_fix_info = NULL;
    RowMajorStrg = 0;
    return;
 }
diff -ruN blas-1.1/cblas/src/xerbla.c refblas3-1.2/cblas/src/xerbla.c
--- blas-1.1/cblas/src/xerbla.c	Mon Mar 15 15:12:40 1999
+++ refblas3-1.2/cblas/src/xerbla.c	Thu Jun 12 11:10:37 2003
@@ -3,16 +3,24 @@
 #include "cblas.h"
 #include "cblas_f77.h"
 
+/* int RowMajorStrg; */
+int CBLAS_CallFromC;
+
 #define XerblaStrLen 6
 #define XerblaStrLen1 7
 
+void (*mcblas_fix_info)(int *,const char *)=NULL;
+
 #ifdef F77_CHAR
-void F77_xerbla(F77_CHAR F77_srname, void *vinfo)
+void F77_xerbli(F77_CHAR F77_srname, void *vinfo)
 #else
-void F77_xerbla(char *srname, void *vinfo)
+void F77_xerbli(char *srname, void *vinfo)
 #endif
 
 {
+#define XerblaStrLen 6
+#define XerblaStrLen1 7
+
 #ifdef F77_CHAR
    char *srname;
 #endif
@@ -27,21 +35,52 @@
    int i;
 #endif
 
-   extern int CBLAS_CallFromC;
+   if (!mcblas_fix_info) {
 
 #ifdef F77_CHAR
-   srname = F2C_STR(F77_srname, XerblaStrLen);
+     F77_xerbla(F77_sname,vinfo);
+#else
+     F77_xerbla(srname,vinfo);
+#endif
+   } else {
+#ifdef F77_CHAR
+     srname = F2C_STR(F77_srname, XerblaStrLen);
 #endif
 
-   if (CBLAS_CallFromC)
-   {
-      for(i=0; i != XerblaStrLen; i++) rout[i+6] = tolower(srname[i]);
-      rout[XerblaStrLen+6] = '\0';
-      cblas_xerbla(*info+1,rout,"");
-   }
-   else
-   {
-      fprintf(stderr, "Parameter %d to routine %s was incorrect\n",
-              *info, srname);
+     for(i=0; i != XerblaStrLen; i++) rout[i+6] = tolower(srname[i]);
+     rout[XerblaStrLen+6] = '\0';
+     (*info)++;
+     cblas_xerbla(*info,rout,"");
+
    }
+}
+  
+#ifdef F77_CHAR
+void F77_xerbla(F77_CHAR F77_srname, void *vinfo)
+#else
+void F77_xerbla(char *srname, void *vinfo)
+#endif
+
+{
+#ifdef F77_CHAR
+   char *srname;
+#endif
+
+#ifdef F77_INT
+   F77_INT *info=vinfo;
+   F77_INT i;
+#else
+   int *info=vinfo;
+   int i;
+#endif
+
+#ifdef F77_CHAR
+   srname = F2C_STR(F77_srname, XerblaStrLen);
+#endif
+
+   fprintf(stderr, "Parameter %d to routine %s was incorrect\n",
+	   *info, srname);
+
+   exit(-1);
+
 }
diff -ruN blas-1.1/cblas/testing/c_dblas1.c refblas3-1.2/cblas/testing/c_dblas1.c
--- blas-1.1/cblas/testing/c_dblas1.c	Fri Feb 26 00:06:07 1999
+++ refblas3-1.2/cblas/testing/c_dblas1.c	Mon Jun  9 15:57:03 2003
@@ -78,5 +78,6 @@
 
 int F77_idamax(const int *N, const double *X, const int *incX)
 {
-   return cblas_idamax(*N, X, *incX);
+  if (*N < 1 || *incX < 1) return(0);
+  return cblas_idamax(*N, X, *incX)+1;
 }
diff -ruN blas-1.1/cblas/testing/c_sblas1.c refblas3-1.2/cblas/testing/c_sblas1.c
--- blas-1.1/cblas/testing/c_sblas1.c	Sat Dec 20 11:54:50 2003
+++ refblas3-1.2/cblas/testing/c_sblas1.c	Mon Jun  9 15:56:49 2003
@@ -77,5 +77,6 @@
 
 int F77_isamax(const int *N, const float *X, const int *incX)
 {
-   return cblas_isamax(*N, X, *incX);
+  if (*N < 1 || *incX < 1) return(0);
+  return cblas_isamax(*N, X, *incX)+1;
 }
diff -ruN blas-1.1/cblas/testing/c_xerbla.c refblas3-1.2/cblas/testing/c_xerbla.c
--- blas-1.1/cblas/testing/c_xerbla.c	Mon Mar 15 15:13:14 1999
+++ refblas3-1.2/cblas/testing/c_xerbla.c	Wed Jun 11 21:50:18 2003
@@ -5,12 +5,14 @@
 #include "cblas.h"
 #include "cblas_test.h"
 
+int RowMajorStrg=0;
+
 void cblas_xerbla(int info, const char *rout, const char *form, ...)
 {
    extern int cblas_lerr, cblas_info, cblas_ok;
    extern int link_xerbla;
-   extern int RowMajorStrg;
    extern char *cblas_rout;
+   int i;
    
    /* Initially, c__3chke will call this routine with 
     * global variable link_xerbla=1, and F77_xerbla will set link_xerbla=0. 
@@ -19,11 +21,13 @@
     */
    if (link_xerbla) return;
 
+   for(i=11; i >= 9; i--) if (rout[i] == ' ') ((char *)rout)[i] = '\0';
    if (cblas_rout != NULL && strcmp(cblas_rout, rout) != 0){
       printf("***** XERBLA WAS CALLED WITH SRNAME = <%s> INSTEAD OF <%s> *******\n", rout, cblas_rout);
       cblas_ok = FALSE;
    }
 
+#if 0
    if (RowMajorStrg)
    {
       /* To properly check leading dimension problems in cblas__gemm, we 
@@ -35,47 +39,48 @@
        */
       if (strstr(rout,"gemm") != 0)
       {
-         if      (info == 5 ) info =  4;
-         else if (info == 4 ) info =  5;
-         else if (info == 11) info =  9;
-         else if (info == 9 ) info = 11;
+         if      (cblas_info == 5 ) cblas_info =  4;
+         else if (cblas_info == 4 ) cblas_info =  5;
+         else if (cblas_info == 11) cblas_info =  9;
+         else if (cblas_info == 9 ) cblas_info = 11;
       }
       else if (strstr(rout,"symm") != 0 || strstr(rout,"hemm") != 0)
       {
-         if      (info == 5 ) info =  4;
-         else if (info == 4 ) info =  5;
+         if      (cblas_info == 5 ) cblas_info =  4;
+         else if (cblas_info == 4 ) cblas_info =  5;
       }
       else if (strstr(rout,"trmm") != 0 || strstr(rout,"trsm") != 0)
       {
-         if      (info == 7 ) info =  6;
-         else if (info == 6 ) info =  7;
+         if      (cblas_info == 7 ) cblas_info =  6;
+         else if (cblas_info == 6 ) cblas_info =  7;
       }
       else if (strstr(rout,"gemv") != 0)
       {
-         if      (info == 4)  info = 3;
-         else if (info == 3)  info = 4;
+         if      (cblas_info == 4)  cblas_info = 3;
+         else if (cblas_info == 3)  cblas_info = 4;
       }
       else if (strstr(rout,"gbmv") != 0)
       {
-         if      (info == 4)  info = 3;
-         else if (info == 3)  info = 4;
-         else if (info == 6)  info = 5;
-         else if (info == 5)  info = 6;
+         if      (cblas_info == 4)  cblas_info = 3;
+         else if (cblas_info == 3)  cblas_info = 4;
+         else if (cblas_info == 6)  cblas_info = 5;
+         else if (cblas_info == 5)  cblas_info = 6;
       }
       else if (strstr(rout,"ger") != 0)
       {
-         if      (info == 3) info = 2;
-         else if (info == 2) info = 3;
-         else if (info == 8) info = 6;
-         else if (info == 6) info = 8;
+         if      (cblas_info == 3) cblas_info = 2;
+         else if (cblas_info == 2) cblas_info = 3;
+         else if (cblas_info == 8) cblas_info = 6;
+         else if (cblas_info == 6) cblas_info = 8;
       }
       else if ( ( strstr(rout,"her2") != 0 || strstr(rout,"hpr2") != 0 )
                && strstr(rout,"her2k") == 0 )
       {
-         if      (info == 8) info = 6;
-         else if (info == 6) info = 8;
+         if      (cblas_info == 8) cblas_info = 6;
+         else if (cblas_info == 6) cblas_info = 8;
       }
    }
+#endif
 
    if (info != cblas_info){
       printf("***** XERBLA WAS CALLED WITH INFO = %d INSTEAD OF %d in %s *******\n",info, cblas_info, rout);
diff -ruN blas-1.1/cblas/testing/c_zblas1.c refblas3-1.2/cblas/testing/c_zblas1.c
--- blas-1.1/cblas/testing/c_zblas1.c	Fri Feb 26 00:06:07 1999
+++ refblas3-1.2/cblas/testing/c_zblas1.c	Mon Jun  9 15:57:24 2003
@@ -59,7 +59,8 @@
 
 int F77_izamax(const int *N, const void *X, const int *incX)
 {
-   return cblas_izamax(*N, X, *incX);
+  if (*N < 1 || *incX < 1) return(0);
+  return cblas_izamax(*N, X, *incX)+1;
 }
 
 double F77_dznrm2(const int *N, const void *X, const int *incX)
diff -ruN blas-1.1/src/cgbmv.f refblas3-1.2/src/cgbmv.f
--- blas-1.1/src/cgbmv.f	Thu Jul  2 17:17:19 1998
+++ refblas3-1.2/src/cgbmv.f	Wed Jun 11 14:17:40 2003
@@ -142,7 +142,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, MIN
 *     ..
@@ -171,7 +171,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CGBMV ', INFO )
+         CALL XERBLI( 'CGBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cgemm.f refblas3-1.2/src/cgemm.f
--- blas-1.1/src/cgemm.f	Thu Jul  2 17:17:19 1998
+++ refblas3-1.2/src/cgemm.f	Wed Jun 11 14:17:44 2003
@@ -132,7 +132,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     .. Local Scalars ..
@@ -195,7 +195,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CGEMM ', INFO )
+         CALL XERBLI( 'CGEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cgemv.f refblas3-1.2/src/cgemv.f
--- blas-1.1/src/cgemv.f	Thu Jul  2 17:17:19 1998
+++ refblas3-1.2/src/cgemv.f	Wed Jun 11 14:17:46 2003
@@ -114,7 +114,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     ..
@@ -139,7 +139,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CGEMV ', INFO )
+         CALL XERBLI( 'CGEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cgerc.f refblas3-1.2/src/cgerc.f
--- blas-1.1/src/cgerc.f	Thu Jul  2 17:17:20 1998
+++ refblas3-1.2/src/cgerc.f	Wed Jun 11 14:17:47 2003
@@ -83,7 +83,7 @@
       COMPLEX            TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CGERC ', INFO )
+         CALL XERBLI( 'CGERC ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cgeru.f refblas3-1.2/src/cgeru.f
--- blas-1.1/src/cgeru.f	Thu Jul  2 17:17:20 1998
+++ refblas3-1.2/src/cgeru.f	Wed Jun 11 14:17:49 2003
@@ -83,7 +83,7 @@
       COMPLEX            TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CGERU ', INFO )
+         CALL XERBLI( 'CGERU ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chbmv.f refblas3-1.2/src/chbmv.f
--- blas-1.1/src/chbmv.f	Thu Jul  2 17:17:20 1998
+++ refblas3-1.2/src/chbmv.f	Wed Jun 11 14:17:52 2003
@@ -142,7 +142,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, MIN, REAL
 *     ..
@@ -166,7 +166,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHBMV ', INFO )
+         CALL XERBLI( 'CHBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chemm.f refblas3-1.2/src/chemm.f
--- blas-1.1/src/chemm.f	Thu Jul  2 17:17:20 1998
+++ refblas3-1.2/src/chemm.f	Wed Jun 11 14:17:53 2003
@@ -138,7 +138,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, REAL
 *     .. Local Scalars ..
@@ -183,7 +183,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHEMM ', INFO )
+         CALL XERBLI( 'CHEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chemv.f refblas3-1.2/src/chemv.f
--- blas-1.1/src/chemv.f	Thu Jul  2 17:17:21 1998
+++ refblas3-1.2/src/chemv.f	Wed Jun 11 14:17:53 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, REAL
 *     ..
@@ -133,7 +133,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHEMV ', INFO )
+         CALL XERBLI( 'CHEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cher.f refblas3-1.2/src/cher.f
--- blas-1.1/src/cher.f	Thu Jul  2 17:17:21 1998
+++ refblas3-1.2/src/cher.f	Wed Jun 11 14:17:53 2003
@@ -96,7 +96,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, REAL
 *     ..
@@ -116,7 +116,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHER  ', INFO )
+         CALL XERBLI( 'CHER  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cher2.f refblas3-1.2/src/cher2.f
--- blas-1.1/src/cher2.f	Thu Jul  2 17:17:21 1998
+++ refblas3-1.2/src/cher2.f	Wed Jun 11 14:17:54 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, REAL
 *     ..
@@ -129,7 +129,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHER2 ', INFO )
+         CALL XERBLI( 'CHER2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cher2k.f refblas3-1.2/src/cher2k.f
--- blas-1.1/src/cher2k.f	Thu Jul  2 17:17:22 1998
+++ refblas3-1.2/src/cher2k.f	Wed Jun 11 14:17:54 2003
@@ -144,7 +144,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, REAL
 *     .. Local Scalars ..
@@ -187,7 +187,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHER2K', INFO )
+         CALL XERBLI( 'CHER2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/cherk.f refblas3-1.2/src/cherk.f
--- blas-1.1/src/cherk.f	Thu Jul  2 17:17:22 1998
+++ refblas3-1.2/src/cherk.f	Wed Jun 11 14:17:54 2003
@@ -124,7 +124,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CMPLX, CONJG, MAX, REAL
 *     .. Local Scalars ..
@@ -164,7 +164,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHERK ', INFO )
+         CALL XERBLI( 'CHERK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chpmv.f refblas3-1.2/src/chpmv.f
--- blas-1.1/src/chpmv.f	Thu Jul  2 17:17:22 1998
+++ refblas3-1.2/src/chpmv.f	Wed Jun 11 14:17:55 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, REAL
 *     ..
@@ -127,7 +127,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHPMV ', INFO )
+         CALL XERBLI( 'CHPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chpr.f refblas3-1.2/src/chpr.f
--- blas-1.1/src/chpr.f	Thu Jul  2 17:17:22 1998
+++ refblas3-1.2/src/chpr.f	Wed Jun 11 14:17:55 2003
@@ -93,7 +93,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, REAL
 *     ..
@@ -111,7 +111,7 @@
          INFO = 5
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHPR  ', INFO )
+         CALL XERBLI( 'CHPR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/chpr2.f refblas3-1.2/src/chpr2.f
--- blas-1.1/src/chpr2.f	Thu Jul  2 17:17:23 1998
+++ refblas3-1.2/src/chpr2.f	Wed Jun 11 14:17:55 2003
@@ -104,7 +104,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, REAL
 *     ..
@@ -124,7 +124,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CHPR2 ', INFO )
+         CALL XERBLI( 'CHPR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/csymm.f refblas3-1.2/src/csymm.f
--- blas-1.1/src/csymm.f	Thu Jul  2 17:17:24 1998
+++ refblas3-1.2/src/csymm.f	Wed Jun 11 14:17:56 2003
@@ -136,7 +136,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CSYMM ', INFO )
+         CALL XERBLI( 'CSYMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/csyr2k.f refblas3-1.2/src/csyr2k.f
--- blas-1.1/src/csyr2k.f	Thu Jul  2 17:17:24 1998
+++ refblas3-1.2/src/csyr2k.f	Wed Jun 11 14:17:56 2003
@@ -135,7 +135,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -178,7 +178,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CSYR2K', INFO )
+         CALL XERBLI( 'CSYR2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/csyrk.f refblas3-1.2/src/csyrk.f
--- blas-1.1/src/csyrk.f	Thu Jul  2 17:17:25 1998
+++ refblas3-1.2/src/csyrk.f	Wed Jun 11 14:17:56 2003
@@ -118,7 +118,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -159,7 +159,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CSYRK ', INFO )
+         CALL XERBLI( 'CSYRK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctbmv.f refblas3-1.2/src/ctbmv.f
--- blas-1.1/src/ctbmv.f	Thu Jul  2 17:17:25 1998
+++ refblas3-1.2/src/ctbmv.f	Wed Jun 11 14:17:56 2003
@@ -145,7 +145,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, MIN
 *     ..
@@ -174,7 +174,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTBMV ', INFO )
+         CALL XERBLI( 'CTBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctbsv.f refblas3-1.2/src/ctbsv.f
--- blas-1.1/src/ctbsv.f	Thu Jul  2 17:17:25 1998
+++ refblas3-1.2/src/ctbsv.f	Wed Jun 11 14:17:57 2003
@@ -149,7 +149,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX, MIN
 *     ..
@@ -178,7 +178,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTBSV ', INFO )
+         CALL XERBLI( 'CTBSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctpmv.f refblas3-1.2/src/ctpmv.f
--- blas-1.1/src/ctpmv.f	Thu Jul  2 17:17:25 1998
+++ refblas3-1.2/src/ctpmv.f	Wed Jun 11 14:17:57 2003
@@ -105,7 +105,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG
 *     ..
@@ -130,7 +130,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTPMV ', INFO )
+         CALL XERBLI( 'CTPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctpsv.f refblas3-1.2/src/ctpsv.f
--- blas-1.1/src/ctpsv.f	Thu Jul  2 17:17:26 1998
+++ refblas3-1.2/src/ctpsv.f	Wed Jun 11 14:17:57 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG
 *     ..
@@ -133,7 +133,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTPSV ', INFO )
+         CALL XERBLI( 'CTPSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctrmm.f refblas3-1.2/src/ctrmm.f
--- blas-1.1/src/ctrmm.f	Thu Jul  2 17:17:26 1998
+++ refblas3-1.2/src/ctrmm.f	Wed Jun 11 14:17:57 2003
@@ -128,7 +128,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTRMM ', INFO )
+         CALL XERBLI( 'CTRMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctrmv.f refblas3-1.2/src/ctrmv.f
--- blas-1.1/src/ctrmv.f	Thu Jul  2 17:17:26 1998
+++ refblas3-1.2/src/ctrmv.f	Wed Jun 11 14:17:58 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     ..
@@ -135,7 +135,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTRMV ', INFO )
+         CALL XERBLI( 'CTRMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctrsm.f refblas3-1.2/src/ctrsm.f
--- blas-1.1/src/ctrsm.f	Thu Jul  2 17:17:27 1998
+++ refblas3-1.2/src/ctrsm.f	Wed Jun 11 14:17:58 2003
@@ -130,7 +130,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTRSM ', INFO )
+         CALL XERBLI( 'CTRSM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ctrsv.f refblas3-1.2/src/ctrsv.f
--- blas-1.1/src/ctrsv.f	Thu Jul  2 17:17:27 1998
+++ refblas3-1.2/src/ctrsv.f	Wed Jun 11 14:17:58 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          CONJG, MAX
 *     ..
@@ -138,7 +138,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'CTRSV ', INFO )
+         CALL XERBLI( 'CTRSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dgbmv.f refblas3-1.2/src/dgbmv.f
--- blas-1.1/src/dgbmv.f	Thu Jul  2 17:17:28 1998
+++ refblas3-1.2/src/dgbmv.f	Wed Jun 11 14:17:59 2003
@@ -135,7 +135,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -164,7 +164,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DGBMV ', INFO )
+         CALL XERBLI( 'DGBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dgemm.f refblas3-1.2/src/dgemm.f
--- blas-1.1/src/dgemm.f	Thu Jul  2 17:17:29 1998
+++ refblas3-1.2/src/dgemm.f	Wed Jun 11 14:17:59 2003
@@ -132,7 +132,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -189,7 +189,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DGEMM ', INFO )
+         CALL XERBLI( 'DGEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dgemv.f refblas3-1.2/src/dgemv.f
--- blas-1.1/src/dgemv.f	Thu Jul  2 17:17:29 1998
+++ refblas3-1.2/src/dgemv.f	Wed Jun 11 14:17:59 2003
@@ -109,7 +109,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -134,7 +134,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DGEMV ', INFO )
+         CALL XERBLI( 'DGEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dger.f refblas3-1.2/src/dger.f
--- blas-1.1/src/dger.f	Thu Jul  2 17:17:29 1998
+++ refblas3-1.2/src/dger.f	Wed Jun 11 14:18:00 2003
@@ -83,7 +83,7 @@
       DOUBLE PRECISION   TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DGER  ', INFO )
+         CALL XERBLI( 'DGER  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsbmv.f refblas3-1.2/src/dsbmv.f
--- blas-1.1/src/dsbmv.f	Thu Jul  2 17:17:30 1998
+++ refblas3-1.2/src/dsbmv.f	Wed Jun 11 14:18:00 2003
@@ -138,7 +138,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -162,7 +162,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSBMV ', INFO )
+         CALL XERBLI( 'DSBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dspmv.f refblas3-1.2/src/dspmv.f
--- blas-1.1/src/dspmv.f	Thu Jul  2 17:17:31 1998
+++ refblas3-1.2/src/dspmv.f	Wed Jun 11 14:18:01 2003
@@ -103,7 +103,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -121,7 +121,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSPMV ', INFO )
+         CALL XERBLI( 'DSPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dspr.f refblas3-1.2/src/dspr.f
--- blas-1.1/src/dspr.f	Thu Jul  2 17:17:31 1998
+++ refblas3-1.2/src/dspr.f	Wed Jun 11 14:18:01 2003
@@ -90,7 +90,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -106,7 +106,7 @@
          INFO = 5
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSPR  ', INFO )
+         CALL XERBLI( 'DSPR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dspr2.f refblas3-1.2/src/dspr2.f
--- blas-1.1/src/dspr2.f	Thu Jul  2 17:17:32 1998
+++ refblas3-1.2/src/dspr2.f	Wed Jun 11 14:18:01 2003
@@ -101,7 +101,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -119,7 +119,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSPR2 ', INFO )
+         CALL XERBLI( 'DSPR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsymm.f refblas3-1.2/src/dsymm.f
--- blas-1.1/src/dsymm.f	Thu Jul  2 17:17:32 1998
+++ refblas3-1.2/src/dsymm.f	Wed Jun 11 14:18:02 2003
@@ -136,7 +136,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYMM ', INFO )
+         CALL XERBLI( 'DSYMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsymv.f refblas3-1.2/src/dsymv.f
--- blas-1.1/src/dsymv.f	Thu Jul  2 17:17:32 1998
+++ refblas3-1.2/src/dsymv.f	Wed Jun 11 14:18:02 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -129,7 +129,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYMV ', INFO )
+         CALL XERBLI( 'DSYMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsyr.f refblas3-1.2/src/dsyr.f
--- blas-1.1/src/dsyr.f	Thu Jul  2 17:17:33 1998
+++ refblas3-1.2/src/dsyr.f	Wed Jun 11 14:18:02 2003
@@ -93,7 +93,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -113,7 +113,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYR  ', INFO )
+         CALL XERBLI( 'DSYR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsyr2.f refblas3-1.2/src/dsyr2.f
--- blas-1.1/src/dsyr2.f	Thu Jul  2 17:17:33 1998
+++ refblas3-1.2/src/dsyr2.f	Wed Jun 11 14:18:03 2003
@@ -104,7 +104,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -126,7 +126,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYR2 ', INFO )
+         CALL XERBLI( 'DSYR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsyr2k.f refblas3-1.2/src/dsyr2k.f
--- blas-1.1/src/dsyr2k.f	Thu Jul  2 17:17:33 1998
+++ refblas3-1.2/src/dsyr2k.f	Wed Jun 11 14:18:03 2003
@@ -139,7 +139,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYR2K', INFO )
+         CALL XERBLI( 'DSYR2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dsyrk.f refblas3-1.2/src/dsyrk.f
--- blas-1.1/src/dsyrk.f	Thu Jul  2 17:17:33 1998
+++ refblas3-1.2/src/dsyrk.f	Wed Jun 11 14:18:03 2003
@@ -120,7 +120,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -160,7 +160,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DSYRK ', INFO )
+         CALL XERBLI( 'DSYRK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtbmv.f refblas3-1.2/src/dtbmv.f
--- blas-1.1/src/dtbmv.f	Thu Jul  2 17:17:34 1998
+++ refblas3-1.2/src/dtbmv.f	Wed Jun 11 14:18:04 2003
@@ -145,7 +145,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -174,7 +174,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTBMV ', INFO )
+         CALL XERBLI( 'DTBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtbsv.f refblas3-1.2/src/dtbsv.f
--- blas-1.1/src/dtbsv.f	Thu Jul  2 17:17:34 1998
+++ refblas3-1.2/src/dtbsv.f	Wed Jun 11 14:18:04 2003
@@ -149,7 +149,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -178,7 +178,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTBSV ', INFO )
+         CALL XERBLI( 'DTBSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtpmv.f refblas3-1.2/src/dtpmv.f
--- blas-1.1/src/dtpmv.f	Thu Jul  2 17:17:34 1998
+++ refblas3-1.2/src/dtpmv.f	Wed Jun 11 14:18:04 2003
@@ -105,7 +105,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -128,7 +128,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTPMV ', INFO )
+         CALL XERBLI( 'DTPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtpsv.f refblas3-1.2/src/dtpsv.f
--- blas-1.1/src/dtpsv.f	Thu Jul  2 17:17:35 1998
+++ refblas3-1.2/src/dtpsv.f	Wed Jun 11 14:18:05 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -131,7 +131,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTPSV ', INFO )
+         CALL XERBLI( 'DTPSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtrmm.f refblas3-1.2/src/dtrmm.f
--- blas-1.1/src/dtrmm.f	Thu Jul  2 17:17:35 1998
+++ refblas3-1.2/src/dtrmm.f	Wed Jun 11 14:18:05 2003
@@ -128,7 +128,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -176,7 +176,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTRMM ', INFO )
+         CALL XERBLI( 'DTRMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtrmv.f refblas3-1.2/src/dtrmv.f
--- blas-1.1/src/dtrmv.f	Thu Jul  2 17:17:35 1998
+++ refblas3-1.2/src/dtrmv.f	Wed Jun 11 14:18:06 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -135,7 +135,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTRMV ', INFO )
+         CALL XERBLI( 'DTRMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtrsm.f refblas3-1.2/src/dtrsm.f
--- blas-1.1/src/dtrsm.f	Thu Jul  2 17:17:35 1998
+++ refblas3-1.2/src/dtrsm.f	Wed Jun 11 14:18:06 2003
@@ -131,7 +131,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTRSM ', INFO )
+         CALL XERBLI( 'DTRSM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/dtrsv.f refblas3-1.2/src/dtrsv.f
--- blas-1.1/src/dtrsv.f	Thu Jul  2 17:17:36 1998
+++ refblas3-1.2/src/dtrsv.f	Wed Jun 11 14:18:06 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -138,7 +138,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'DTRSV ', INFO )
+         CALL XERBLI( 'DTRSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sgbmv.f refblas3-1.2/src/sgbmv.f
--- blas-1.1/src/sgbmv.f	Thu Jul  2 17:17:39 1998
+++ refblas3-1.2/src/sgbmv.f	Wed Jun 11 14:18:07 2003
@@ -135,7 +135,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -164,7 +164,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SGBMV ', INFO )
+         CALL XERBLI( 'SGBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sgemm.f refblas3-1.2/src/sgemm.f
--- blas-1.1/src/sgemm.f	Thu Jul  2 17:17:39 1998
+++ refblas3-1.2/src/sgemm.f	Wed Jun 11 14:18:07 2003
@@ -132,7 +132,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -189,7 +189,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SGEMM ', INFO )
+         CALL XERBLI( 'SGEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sgemv.f refblas3-1.2/src/sgemv.f
--- blas-1.1/src/sgemv.f	Thu Jul  2 17:17:40 1998
+++ refblas3-1.2/src/sgemv.f	Wed Jun 11 14:18:07 2003
@@ -109,7 +109,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -134,7 +134,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SGEMV ', INFO )
+         CALL XERBLI( 'SGEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sger.f refblas3-1.2/src/sger.f
--- blas-1.1/src/sger.f	Thu Jul  2 17:17:40 1998
+++ refblas3-1.2/src/sger.f	Wed Jun 11 14:18:08 2003
@@ -83,7 +83,7 @@
       REAL               TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SGER  ', INFO )
+         CALL XERBLI( 'SGER  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssbmv.f refblas3-1.2/src/ssbmv.f
--- blas-1.1/src/ssbmv.f	Thu Jul  2 17:17:41 1998
+++ refblas3-1.2/src/ssbmv.f	Wed Jun 11 14:18:08 2003
@@ -138,7 +138,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -162,7 +162,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSBMV ', INFO )
+         CALL XERBLI( 'SSBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sspmv.f refblas3-1.2/src/sspmv.f
--- blas-1.1/src/sspmv.f	Thu Jul  2 17:17:42 1998
+++ refblas3-1.2/src/sspmv.f	Wed Jun 11 14:18:09 2003
@@ -103,7 +103,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -121,7 +121,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSPMV ', INFO )
+         CALL XERBLI( 'SSPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sspr.f refblas3-1.2/src/sspr.f
--- blas-1.1/src/sspr.f	Thu Jul  2 17:17:42 1998
+++ refblas3-1.2/src/sspr.f	Wed Jun 11 14:18:09 2003
@@ -90,7 +90,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -106,7 +106,7 @@
          INFO = 5
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSPR  ', INFO )
+         CALL XERBLI( 'SSPR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/sspr2.f refblas3-1.2/src/sspr2.f
--- blas-1.1/src/sspr2.f	Thu Jul  2 17:17:42 1998
+++ refblas3-1.2/src/sspr2.f	Wed Jun 11 14:18:13 2003
@@ -101,7 +101,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -119,7 +119,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSPR2 ', INFO )
+         CALL XERBLI( 'SSPR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssymm.f refblas3-1.2/src/ssymm.f
--- blas-1.1/src/ssymm.f	Thu Jul  2 17:17:43 1998
+++ refblas3-1.2/src/ssymm.f	Wed Jun 11 14:18:14 2003
@@ -136,7 +136,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYMM ', INFO )
+         CALL XERBLI( 'SSYMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssymv.f refblas3-1.2/src/ssymv.f
--- blas-1.1/src/ssymv.f	Thu Jul  2 17:17:43 1998
+++ refblas3-1.2/src/ssymv.f	Wed Jun 11 14:18:14 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -129,7 +129,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYMV ', INFO )
+         CALL XERBLI( 'SSYMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssyr.f refblas3-1.2/src/ssyr.f
--- blas-1.1/src/ssyr.f	Thu Jul  2 17:17:43 1998
+++ refblas3-1.2/src/ssyr.f	Wed Jun 11 14:18:14 2003
@@ -93,7 +93,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -113,7 +113,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYR  ', INFO )
+         CALL XERBLI( 'SSYR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssyr2.f refblas3-1.2/src/ssyr2.f
--- blas-1.1/src/ssyr2.f	Thu Jul  2 17:17:43 1998
+++ refblas3-1.2/src/ssyr2.f	Wed Jun 11 14:18:15 2003
@@ -104,7 +104,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -126,7 +126,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYR2 ', INFO )
+         CALL XERBLI( 'SSYR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssyr2k.f refblas3-1.2/src/ssyr2k.f
--- blas-1.1/src/ssyr2k.f	Thu Jul  2 17:17:44 1998
+++ refblas3-1.2/src/ssyr2k.f	Wed Jun 11 14:18:15 2003
@@ -139,7 +139,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYR2K', INFO )
+         CALL XERBLI( 'SSYR2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ssyrk.f refblas3-1.2/src/ssyrk.f
--- blas-1.1/src/ssyrk.f	Thu Jul  2 17:17:44 1998
+++ refblas3-1.2/src/ssyrk.f	Wed Jun 11 14:18:15 2003
@@ -120,7 +120,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -160,7 +160,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'SSYRK ', INFO )
+         CALL XERBLI( 'SSYRK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/stbmv.f refblas3-1.2/src/stbmv.f
--- blas-1.1/src/stbmv.f	Thu Jul  2 17:17:44 1998
+++ refblas3-1.2/src/stbmv.f	Wed Jun 11 14:18:16 2003
@@ -145,7 +145,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -174,7 +174,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STBMV ', INFO )
+         CALL XERBLI( 'STBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/stbsv.f refblas3-1.2/src/stbsv.f
--- blas-1.1/src/stbsv.f	Thu Jul  2 17:17:44 1998
+++ refblas3-1.2/src/stbsv.f	Wed Jun 11 14:18:16 2003
@@ -149,7 +149,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX, MIN
 *     ..
@@ -178,7 +178,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STBSV ', INFO )
+         CALL XERBLI( 'STBSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/stpmv.f refblas3-1.2/src/stpmv.f
--- blas-1.1/src/stpmv.f	Thu Jul  2 17:17:45 1998
+++ refblas3-1.2/src/stpmv.f	Wed Jun 11 14:18:17 2003
@@ -105,7 +105,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -128,7 +128,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STPMV ', INFO )
+         CALL XERBLI( 'STPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/stpsv.f refblas3-1.2/src/stpsv.f
--- blas-1.1/src/stpsv.f	Thu Jul  2 17:17:45 1998
+++ refblas3-1.2/src/stpsv.f	Wed Jun 11 14:18:17 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Executable Statements ..
 *
@@ -131,7 +131,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STPSV ', INFO )
+         CALL XERBLI( 'STPSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/strmm.f refblas3-1.2/src/strmm.f
--- blas-1.1/src/strmm.f	Thu Jul  2 17:17:45 1998
+++ refblas3-1.2/src/strmm.f	Wed Jun 11 14:18:17 2003
@@ -128,7 +128,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -176,7 +176,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STRMM ', INFO )
+         CALL XERBLI( 'STRMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/strmv.f refblas3-1.2/src/strmv.f
--- blas-1.1/src/strmv.f	Thu Jul  2 17:17:46 1998
+++ refblas3-1.2/src/strmv.f	Wed Jun 11 14:18:18 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -135,7 +135,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STRMV ', INFO )
+         CALL XERBLI( 'STRMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/strsm.f refblas3-1.2/src/strsm.f
--- blas-1.1/src/strsm.f	Thu Jul  2 17:17:46 1998
+++ refblas3-1.2/src/strsm.f	Wed Jun 11 14:18:18 2003
@@ -131,7 +131,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STRSM ', INFO )
+         CALL XERBLI( 'STRSM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/strsv.f refblas3-1.2/src/strsv.f
--- blas-1.1/src/strsv.f	Thu Jul  2 17:17:46 1998
+++ refblas3-1.2/src/strsv.f	Wed Jun 11 14:18:18 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -138,7 +138,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'STRSV ', INFO )
+         CALL XERBLI( 'STRSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/xerbla.f refblas3-1.2/src/xerbla.f
--- blas-1.1/src/xerbla.f	Thu Jul  2 17:17:46 1998
+++ refblas3-1.2/src/xerbla.f	Wed Jun 11 14:18:19 2003
@@ -1,4 +1,4 @@
-      SUBROUTINE XERBLA( SRNAME, INFO )
+      SUBROUTINE XERBLI( SRNAME, INFO )
 *
 *  -- LAPACK auxiliary routine (preliminary version) --
 *     Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
@@ -13,7 +13,7 @@
 *  Purpose
 *  =======
 *
-*  XERBLA  is an error handler for the LAPACK routines.
+*  XERBLI  is an error handler for the LAPACK routines.
 *  It is called by an LAPACK routine if an input parameter has an
 *  invalid value.  A message is printed and execution stops.
 *
@@ -24,7 +24,7 @@
 *  =========
 *
 *  SRNAME  (input) CHARACTER*6
-*          The name of the routine which called XERBLA.
+*          The name of the routine which called XERBLI.
 *
 *  INFO    (input) INTEGER
 *          The position of the invalid parameter in the parameter list
@@ -38,6 +38,6 @@
  9999 FORMAT( ' ** On entry to ', A6, ' parameter number ', I2, ' had ',
      $      'an illegal value' )
 *
-*     End of XERBLA
+*     End of XERBLI
 *
       END
diff -ruN blas-1.1/src/zgbmv.f refblas3-1.2/src/zgbmv.f
--- blas-1.1/src/zgbmv.f	Thu Jul  2 17:17:48 1998
+++ refblas3-1.2/src/zgbmv.f	Wed Jun 11 14:18:19 2003
@@ -142,7 +142,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, MIN
 *     ..
@@ -171,7 +171,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZGBMV ', INFO )
+         CALL XERBLI( 'ZGBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zgemm.f refblas3-1.2/src/zgemm.f
--- blas-1.1/src/zgemm.f	Thu Jul  2 17:17:48 1998
+++ refblas3-1.2/src/zgemm.f	Wed Jun 11 14:18:20 2003
@@ -132,7 +132,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     .. Local Scalars ..
@@ -195,7 +195,7 @@
          INFO = 13
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZGEMM ', INFO )
+         CALL XERBLI( 'ZGEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zgemv.f refblas3-1.2/src/zgemv.f
--- blas-1.1/src/zgemv.f	Thu Jul  2 17:17:48 1998
+++ refblas3-1.2/src/zgemv.f	Wed Jun 11 14:18:20 2003
@@ -114,7 +114,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     ..
@@ -139,7 +139,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZGEMV ', INFO )
+         CALL XERBLI( 'ZGEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zgerc.f refblas3-1.2/src/zgerc.f
--- blas-1.1/src/zgerc.f	Thu Jul  2 17:17:49 1998
+++ refblas3-1.2/src/zgerc.f	Wed Jun 11 14:18:20 2003
@@ -83,7 +83,7 @@
       COMPLEX*16         TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZGERC ', INFO )
+         CALL XERBLI( 'ZGERC ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zgeru.f refblas3-1.2/src/zgeru.f
--- blas-1.1/src/zgeru.f	Thu Jul  2 17:17:49 1998
+++ refblas3-1.2/src/zgeru.f	Wed Jun 11 14:18:21 2003
@@ -83,7 +83,7 @@
       COMPLEX*16         TEMP
       INTEGER            I, INFO, IX, J, JY, KX
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     ..
@@ -104,7 +104,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZGERU ', INFO )
+         CALL XERBLI( 'ZGERU ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhbmv.f refblas3-1.2/src/zhbmv.f
--- blas-1.1/src/zhbmv.f	Thu Jul  2 17:17:49 1998
+++ refblas3-1.2/src/zhbmv.f	Wed Jun 11 14:18:21 2003
@@ -142,7 +142,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, MIN, DBLE
 *     ..
@@ -166,7 +166,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHBMV ', INFO )
+         CALL XERBLI( 'ZHBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhemm.f refblas3-1.2/src/zhemm.f
--- blas-1.1/src/zhemm.f	Thu Jul  2 17:17:49 1998
+++ refblas3-1.2/src/zhemm.f	Wed Jun 11 14:18:21 2003
@@ -138,7 +138,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, DBLE
 *     .. Local Scalars ..
@@ -183,7 +183,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHEMM ', INFO )
+         CALL XERBLI( 'ZHEMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhemv.f refblas3-1.2/src/zhemv.f
--- blas-1.1/src/zhemv.f	Thu Jul  2 17:17:50 1998
+++ refblas3-1.2/src/zhemv.f	Wed Jun 11 14:18:22 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, DBLE
 *     ..
@@ -133,7 +133,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHEMV ', INFO )
+         CALL XERBLI( 'ZHEMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zher.f refblas3-1.2/src/zher.f
--- blas-1.1/src/zher.f	Thu Jul  2 17:17:50 1998
+++ refblas3-1.2/src/zher.f	Wed Jun 11 14:18:22 2003
@@ -96,7 +96,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, DBLE
 *     ..
@@ -116,7 +116,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHER  ', INFO )
+         CALL XERBLI( 'ZHER  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zher2.f refblas3-1.2/src/zher2.f
--- blas-1.1/src/zher2.f	Thu Jul  2 17:17:50 1998
+++ refblas3-1.2/src/zher2.f	Wed Jun 11 14:18:23 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, DBLE
 *     ..
@@ -129,7 +129,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHER2 ', INFO )
+         CALL XERBLI( 'ZHER2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zher2k.f refblas3-1.2/src/zher2k.f
--- blas-1.1/src/zher2k.f	Thu Jul  2 17:17:51 1998
+++ refblas3-1.2/src/zher2k.f	Wed Jun 11 14:18:23 2003
@@ -146,7 +146,7 @@
       EXTERNAL           LSAME
 *     ..
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Intrinsic Functions ..
       INTRINSIC          DBLE, DCONJG, MAX
@@ -191,7 +191,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 ) THEN
-         CALL XERBLA( 'ZHER2K', INFO )
+         CALL XERBLI( 'ZHER2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zherk.f refblas3-1.2/src/zherk.f
--- blas-1.1/src/zherk.f	Thu Jul  2 17:17:51 1998
+++ refblas3-1.2/src/zherk.f	Wed Jun 11 14:18:23 2003
@@ -125,7 +125,7 @@
       EXTERNAL           LSAME
 *     ..
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     ..
 *     .. Intrinsic Functions ..
       INTRINSIC          DBLE, DCMPLX, DCONJG, MAX
@@ -167,7 +167,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 ) THEN
-         CALL XERBLA( 'ZHERK ', INFO )
+         CALL XERBLI( 'ZHERK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhpmv.f refblas3-1.2/src/zhpmv.f
--- blas-1.1/src/zhpmv.f	Thu Jul  2 17:17:51 1998
+++ refblas3-1.2/src/zhpmv.f	Wed Jun 11 14:18:24 2003
@@ -107,7 +107,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, DBLE
 *     ..
@@ -127,7 +127,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHPMV ', INFO )
+         CALL XERBLI( 'ZHPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhpr.f refblas3-1.2/src/zhpr.f
--- blas-1.1/src/zhpr.f	Thu Jul  2 17:17:51 1998
+++ refblas3-1.2/src/zhpr.f	Wed Jun 11 14:18:24 2003
@@ -93,7 +93,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, DBLE
 *     ..
@@ -111,7 +111,7 @@
          INFO = 5
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHPR  ', INFO )
+         CALL XERBLI( 'ZHPR  ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zhpr2.f refblas3-1.2/src/zhpr2.f
--- blas-1.1/src/zhpr2.f	Thu Jul  2 17:17:52 1998
+++ refblas3-1.2/src/zhpr2.f	Wed Jun 11 14:18:24 2003
@@ -104,7 +104,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, DBLE
 *     ..
@@ -124,7 +124,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZHPR2 ', INFO )
+         CALL XERBLI( 'ZHPR2 ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zsymm.f refblas3-1.2/src/zsymm.f
--- blas-1.1/src/zsymm.f	Thu Jul  2 17:17:52 1998
+++ refblas3-1.2/src/zsymm.f	Wed Jun 11 14:18:25 2003
@@ -136,7 +136,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZSYMM ', INFO )
+         CALL XERBLI( 'ZSYMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zsyr2k.f refblas3-1.2/src/zsyr2k.f
--- blas-1.1/src/zsyr2k.f	Thu Jul  2 17:17:53 1998
+++ refblas3-1.2/src/zsyr2k.f	Wed Jun 11 14:18:25 2003
@@ -135,7 +135,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -178,7 +178,7 @@
          INFO = 12
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZSYR2K', INFO )
+         CALL XERBLI( 'ZSYR2K', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/zsyrk.f refblas3-1.2/src/zsyrk.f
--- blas-1.1/src/zsyrk.f	Thu Jul  2 17:17:53 1998
+++ refblas3-1.2/src/zsyrk.f	Wed Jun 11 14:18:26 2003
@@ -118,7 +118,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          MAX
 *     .. Local Scalars ..
@@ -159,7 +159,7 @@
          INFO = 10
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZSYRK ', INFO )
+         CALL XERBLI( 'ZSYRK ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztbmv.f refblas3-1.2/src/ztbmv.f
--- blas-1.1/src/ztbmv.f	Thu Jul  2 17:17:53 1998
+++ refblas3-1.2/src/ztbmv.f	Wed Jun 11 14:18:26 2003
@@ -145,7 +145,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, MIN
 *     ..
@@ -174,7 +174,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTBMV ', INFO )
+         CALL XERBLI( 'ZTBMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztbsv.f refblas3-1.2/src/ztbsv.f
--- blas-1.1/src/ztbsv.f	Thu Jul  2 17:17:54 1998
+++ refblas3-1.2/src/ztbsv.f	Wed Jun 11 14:18:26 2003
@@ -149,7 +149,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX, MIN
 *     ..
@@ -178,7 +178,7 @@
          INFO = 9
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTBSV ', INFO )
+         CALL XERBLI( 'ZTBSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztpmv.f refblas3-1.2/src/ztpmv.f
--- blas-1.1/src/ztpmv.f	Thu Jul  2 17:17:54 1998
+++ refblas3-1.2/src/ztpmv.f	Wed Jun 11 14:18:27 2003
@@ -105,7 +105,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG
 *     ..
@@ -130,7 +130,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTPMV ', INFO )
+         CALL XERBLI( 'ZTPMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztpsv.f refblas3-1.2/src/ztpsv.f
--- blas-1.1/src/ztpsv.f	Thu Jul  2 17:17:54 1998
+++ refblas3-1.2/src/ztpsv.f	Wed Jun 11 14:18:27 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG
 *     ..
@@ -133,7 +133,7 @@
          INFO = 7
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTPSV ', INFO )
+         CALL XERBLI( 'ZTPSV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztrmm.f refblas3-1.2/src/ztrmm.f
--- blas-1.1/src/ztrmm.f	Thu Jul  2 17:17:54 1998
+++ refblas3-1.2/src/ztrmm.f	Wed Jun 11 14:18:27 2003
@@ -128,7 +128,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     .. Local Scalars ..
@@ -179,7 +179,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTRMM ', INFO )
+         CALL XERBLI( 'ZTRMM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztrmv.f refblas3-1.2/src/ztrmv.f
--- blas-1.1/src/ztrmv.f	Thu Jul  2 17:17:55 1998
+++ refblas3-1.2/src/ztrmv.f	Wed Jun 11 14:18:28 2003
@@ -108,7 +108,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     ..
@@ -135,7 +135,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTRMV ', INFO )
+         CALL XERBLI( 'ZTRMV ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztrsm.f refblas3-1.2/src/ztrsm.f
--- blas-1.1/src/ztrsm.f	Thu Jul  2 17:17:55 1998
+++ refblas3-1.2/src/ztrsm.f	Wed Jun 11 14:18:28 2003
@@ -130,7 +130,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     .. Local Scalars ..
@@ -181,7 +181,7 @@
          INFO = 11
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTRSM ', INFO )
+         CALL XERBLI( 'ZTRSM ', INFO )
          RETURN
       END IF
 *
diff -ruN blas-1.1/src/ztrsv.f refblas3-1.2/src/ztrsv.f
--- blas-1.1/src/ztrsv.f	Thu Jul  2 17:17:55 1998
+++ refblas3-1.2/src/ztrsv.f	Wed Jun 11 14:18:29 2003
@@ -111,7 +111,7 @@
       LOGICAL            LSAME
       EXTERNAL           LSAME
 *     .. External Subroutines ..
-      EXTERNAL           XERBLA
+      EXTERNAL           XERBLI
 *     .. Intrinsic Functions ..
       INTRINSIC          DCONJG, MAX
 *     ..
@@ -138,7 +138,7 @@
          INFO = 8
       END IF
       IF( INFO.NE.0 )THEN
-         CALL XERBLA( 'ZTRSV ', INFO )
+         CALL XERBLI( 'ZTRSV ', INFO )
          RETURN
       END IF
 *
--- blas-1.2.orig/src/crotg.f
+++ blas-1.2/src/crotg.f
@@ -2,17 +2,19 @@
       complex ca,cb,s
       real c
       real norm,scale
-      complex alpha
-      if (cabs(ca) .ne. 0.) go to 10
+      complex alpha,cdum
+      real cabs3
+      cabs3(cdum) = sqrt(real(cdum)**2 + aimag(cdum)**2)
+      if (cabs3(ca) .ne. 0.) go to 10
          c = 0.
          s = (1.,0.)
          ca = cb
          go to 20
    10 continue
-         scale = cabs(ca) + cabs(cb)
-         norm = scale * sqrt((cabs(ca/scale))**2 + (cabs(cb/scale))**2)
-         alpha = ca /cabs(ca)
-         c = cabs(ca) / norm
+         scale = cabs3(ca) + cabs3(cb)
+         norm = scale*sqrt((cabs3(ca/scale))**2 + (cabs3(cb/scale))**2)
+         alpha = ca /cabs3(ca)
+         c = cabs3(ca) / norm
          s = alpha * conjg(cb) / norm
          ca = alpha * norm
    20 continue
--- blas-1.2.orig/src/dzasum.f
+++ blas-1.2/src/dzasum.f
@@ -6,7 +6,10 @@
 c     modified 12/3/93, array(1) declarations changed to array(*)
 c
       double complex zx(*)
-      double precision stemp,dcabs1
+      double precision stemp
+      double complex zdum
+      double precision dcabs2
+      dcabs2(zdum) = abs(real(zdum)) + abs(aimag(zdum))
       integer i,incx,ix,n
 c
       dzasum = 0.0d0
@@ -18,7 +21,7 @@
 c
       ix = 1
       do 10 i = 1,n
-        stemp = stemp + dcabs1(zx(ix))
+        stemp = stemp + dcabs2(zx(ix))
         ix = ix + incx
    10 continue
       dzasum = stemp
@@ -27,7 +30,7 @@
 c        code for increment equal to 1
 c
    20 do 30 i = 1,n
-        stemp = stemp + dcabs1(zx(i))
+        stemp = stemp + dcabs2(zx(i))
    30 continue
       dzasum = stemp
       return
--- blas-1.2.orig/src/icamax.f
+++ blas-1.2/src/icamax.f
@@ -9,7 +9,7 @@
       real smax
       integer i,incx,ix,n
       complex zdum
-      real cabs1
+      real volatile cabs1
       cabs1(zdum) = abs(real(zdum)) + abs(aimag(zdum))
 c
       icamax = 0
--- blas-1.2.orig/src/izamax.f
+++ blas-1.2/src/izamax.f
@@ -8,7 +8,9 @@
       double complex zx(*)
       double precision smax
       integer i,incx,ix,n
-      double precision dcabs1
+      double complex zdum
+      double precision dcabs2
+      dcabs2(zdum) = abs(real(zdum)) + abs(aimag(zdum))
 c
       izamax = 0
       if( n.lt.1 .or. incx.le.0 )return
@@ -19,23 +21,23 @@
 c        code for increment not equal to 1
 c
       ix = 1
-      smax = dcabs1(zx(1))
+      smax = dcabs2(zx(1))
       ix = ix + incx
       do 10 i = 2,n
-         if(dcabs1(zx(ix)).le.smax) go to 5
+         if(dcabs2(zx(ix)).le.smax) go to 5
          izamax = i
-         smax = dcabs1(zx(ix))
+         smax = dcabs2(zx(ix))
     5    ix = ix + incx
    10 continue
       return
 c
 c        code for increment equal to 1
 c
-   20 smax = dcabs1(zx(1))
+   20 smax = dcabs2(zx(1))
       do 30 i = 2,n
-         if(dcabs1(zx(i)).le.smax) go to 30
+         if(dcabs2(zx(i)).le.smax) go to 30
          izamax = i
-         smax = dcabs1(zx(i))
+         smax = dcabs2(zx(i))
    30 continue
       return
       end
--- blas-1.2.orig/src/zaxpy.f
+++ blas-1.2/src/zaxpy.f
@@ -6,9 +6,11 @@
 c
       double complex zx(*),zy(*),za
       integer i,incx,incy,ix,iy,n
-      double precision dcabs1
+      double complex zdum
+      double precision dcabs2
+      dcabs2(zdum) = abs(real(zdum)) + abs(aimag(zdum))
       if(n.le.0)return
-      if (dcabs1(za) .eq. 0.0d0) return
+      if (dcabs2(za) .eq. 0.0d0) return
       if (incx.eq.1.and.incy.eq.1)go to 20
 c
 c        code for unequal increments or equal increments
--- blas-1.2.orig/src/zrotg.f
+++ blas-1.2/src/zrotg.f
@@ -2,18 +2,20 @@
       double complex ca,cb,s
       double precision c
       double precision norm,scale
-      double complex alpha
-      if (cdabs(ca) .ne. 0.0d0) go to 10
+      double complex alpha,zdum
+      double precision zabs3
+      zabs3(zdum) = sqrt(real(zdum)**2 + aimag(zdum)**2)
+      if (zabs3(ca) .ne. 0.0d0) go to 10
          c = 0.0d0
          s = (1.0d0,0.0d0)
          ca = cb
          go to 20
    10 continue
-         scale = cdabs(ca) + cdabs(cb)
-         norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2 +
-     *                      (cdabs(cb/dcmplx(scale,0.0d0)))**2)
-         alpha = ca /cdabs(ca)
-         c = cdabs(ca) / norm
+         scale = zabs3(ca) + zabs3(cb)
+         norm = scale*dsqrt((zabs3(ca/dcmplx(scale,0.0d0)))**2 +
+     *                      (zabs3(cb/dcmplx(scale,0.0d0)))**2)
+         alpha = ca /zabs3(ca)
+         c = zabs3(ca) / norm
          s = alpha * dconjg(cb) / norm
          ca = alpha * norm
    20 continue
--- blas-1.2.orig/doc/faq.html
+++ blas-1.2/doc/faq.html
@@ -12,7 +12,7 @@
 </h2>
 </center>
 <p>
-<IMG SRC="http://www.netlib.org/scalapack/html/gif/blue.gif"></p>
+<IMG SRC="blue.png"></p>
 <p>
 <i>
 Many thanks to the <a href="http://www.netlib.org/utk/icl/maintainers.html">
@@ -22,7 +22,7 @@
 </p>
 
 <p>
-<IMG SRC="http://www.netlib.org/scalapack/html/gif/blue.gif"></p>
+<IMG SRC="blue.png"></p>
 
 <h2>
 Table of Contents
@@ -42,7 +42,7 @@
    </dl>
 
 <p>
-<IMG SRC="http://www.netlib.org/scalapack/html/gif/blue.gif"></p>
+<IMG SRC="blue.png"></p>
 <h2>
 1)  BLAS 
 </h2>
@@ -278,7 +278,7 @@
 for your machine using ATLAS, <a href="http://www.netlib.org/atlas/"><address>http://www.netlib.org/atlas/</address></a>.
 
 <p>
-<IMG SRC="http://www.netlib.org/scalapack/html/gif/blue.gif"></p>
+<IMG SRC="blue.png"></p>
 <a href="mailto:lapack@cs.utk.edu"><address>lapack@cs.utk.edu</address></a>
 
 </body>
--- blas-1.2.orig/man/manl/cscal.l
+++ blas-1.2/man/manl/cscal.l
@@ -1,5 +1,6 @@
+.TH CSCAL l "16 October 1992" "BLAS routine" "BLAS routine"
 .SH NAME
-
+CSCAL - scales a vector by a constant.
 .SH SYNOPSIS
 .TP 31
 subroutine cscal(n,ca,cx,incx)
--- blas-1.2.orig/man/manl/zrotg.l
+++ blas-1.2/man/manl/zrotg.l
@@ -1,5 +1,6 @@
+.TH ZROTG l "16 October 1992" "BLAS routine" "BLAS routine"
 .SH NAME
-
+ZROTG - construct givens plane rotation
 .SH SYNOPSIS
 .TP 28
 subroutine zrotg(ca,cb,c,s)
--- blas-1.2.orig/man/manl/zscal.l
+++ blas-1.2/man/manl/zscal.l
@@ -1,5 +1,6 @@
+.TH ZSCAL l "16 October 1992" "BLAS routine" "BLAS routine"
 .SH NAME
-
+ZSCAL - scales a vector by a constant.
 .SH SYNOPSIS
 .TP 31
 subroutine zscal(n,za,zx,incx)
--- blas-1.2.orig/cblas/src/cblas.h
+++ blas-1.2/cblas/src/cblas.h
@@ -2,6 +2,12 @@
 #define CBLAS_H
 #include <stddef.h>
 
+/* Allow the use in C++ code.  */
+#ifdef __cplusplus
+extern "C" 
+{
+#endif
+
 /*
  * Enumerated and derived types
  */
@@ -564,4 +570,9 @@
                   void *C, const int ldc);
 
 void cblas_xerbla(int p, const char *rout, const char *form, ...);
+
+#ifdef __cplusplus
+}
+#endif 
+
 #endif
diff -ruN blas-1.1/cblas/testing/c_cblas1.c refblas3-1.2/cblas/testing/c_cblas1.c
--- blas-1.1/cblas/testing/c_cblas1.c	Sat Dec 20 11:54:50 2003
+++ refblas3-1.2/cblas/testing/c_cblas1.c	Mon Jun  9 15:57:13 2003
@@ -59,15 +59,16 @@
 
 int F77_icamax(const int *N, const void *X, const int *incX)
 {
-   return cblas_icamax(*N, X, *incX);
+   if (*N < 1 || *incX < 1) return(0);
+   return cblas_icamax(*N, X, *incX)+1;
 }
 
-float F77_scnrm2(const int *N, const void *X, const int *incX)
+double F77_scnrm2(const int *N, const void *X, const int *incX)
 {
    return cblas_scnrm2(*N, X, *incX);
 }
 
-float F77_scasum(const int *N, void *X, const int *incX)
+double F77_scasum(const int *N, void *X, const int *incX)
 {
    return cblas_scasum(*N, X, *incX);
 }
--- blas-1.2.orig/cblas/testing/c_cblat3.f
+++ blas-1.2/cblas/testing/c_cblat3.f
@@ -1365,7 +1365,7 @@
 *
   150 CONTINUE
       WRITE( NOUT, FMT = 9996 )SNAME
-      CALL CPRCN3( NTRA, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
+      CALL CPRCN3( NOUT, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
      $      M, N, ALPHA, LDA, LDB)
 *
   160 CONTINUE
--- blas-1.2.orig/cblas/testing/c_dblat3.f
+++ blas-1.2/cblas/testing/c_dblat3.f
@@ -1335,7 +1335,7 @@
 *
   150 CONTINUE
       WRITE( NOUT, FMT = 9996 )SNAME
-      CALL DPRCN3( NTRA, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
+      CALL DPRCN3( NOUT, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
      $      M, N, ALPHA, LDA, LDB)
 *
   160 CONTINUE
--- blas-1.2.orig/cblas/testing/c_sblas1.c
+++ blas-1.2/cblas/testing/c_sblas1.c
@@ -8,7 +8,7 @@
  */
 #include "cblas_test.h"
 #include "cblas.h"
-float F77_sasum(const int *N, float *X, const int *incX)
+double F77_sasum(const int *N, float *X, const int *incX)
 {
    return cblas_sasum(*N, X, *incX);
 }
@@ -20,12 +20,12 @@
    return;
 }
 
-float F77_scasum(const int *N, void *X, const int *incX)
+double F77_scasum(const int *N, void *X, const int *incX)
 {
    return cblas_scasum(*N, X, *incX);
 }
 
-float F77_scnrm2(const int *N, const void *X, const int *incX)
+double F77_scnrm2(const int *N, const void *X, const int *incX)
 {
    return cblas_scnrm2(*N, X, *incX);
 }
@@ -37,13 +37,13 @@
    return;
 }
 
-float F77_sdot(const int *N, const float *X, const int *incX, 
+double F77_sdot(const int *N, const float *X, const int *incX, 
                         const float *Y, const int *incY)
 {
    return cblas_sdot(*N, X, *incX, Y, *incY);
 }
 
-float F77_snrm2(const int *N, const float *X, const int *incX)
+double F77_snrm2(const int *N, const float *X, const int *incX)
 {
    return cblas_snrm2(*N, X, *incX);
 }
--- blas-1.2.orig/cblas/testing/c_sblat3.f
+++ blas-1.2/cblas/testing/c_sblat3.f
@@ -1339,7 +1339,7 @@
 *
   150 CONTINUE
       WRITE( NOUT, FMT = 9996 )SNAME
-      CALL SPRCN3( NTRA, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
+      CALL SPRCN3( NOUT, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
      $      M, N, ALPHA, LDA, LDB)
 *
   160 CONTINUE
--- blas-1.2.orig/cblas/testing/c_zblat2.f
+++ blas-1.2/cblas/testing/c_zblat2.f
@@ -1350,7 +1350,7 @@
 *
 *                       Call the subroutine.
 *
-                        IF( SNAME( 4: 5 ).EQ.'mv' )THEN
+                        IF( SNAME( 10: 11 ).EQ.'mv' )THEN
                            IF( FULL )THEN
                               IF( TRACE )
      $                           WRITE( NTRA, FMT = 9993 )NC, SNAME,
@@ -1376,7 +1376,7 @@
                               CALL CZTPMV( IORDER, UPLO, TRANS, DIAG,
      $                                    N, AA, XX, INCX )
                            END IF
-                        ELSE IF( SNAME( 4: 5 ).EQ.'sv' )THEN
+                        ELSE IF( SNAME( 10: 11 ).EQ.'sv' )THEN
                            IF( FULL )THEN
                               IF( TRACE )
      $                           WRITE( NTRA, FMT = 9993 )NC, SNAME,
@@ -1465,7 +1465,7 @@
                         END IF
 *
                         IF( .NOT.NULL )THEN
-                           IF( SNAME( 4: 5 ).EQ.'mv' )THEN
+                           IF( SNAME( 10: 11 ).EQ.'mv' )THEN
 *
 *                             Check the result.
 *
@@ -1473,7 +1473,7 @@
      $                                    INCX, ZERO, Z, INCX, XT, G,
      $                                    XX, EPS, ERR, FATAL, NOUT,
      $                                    .TRUE. )
-                           ELSE IF( SNAME( 4: 5 ).EQ.'sv' )THEN
+                           ELSE IF( SNAME( 10: 11 ).EQ.'sv' )THEN
 *
 *                             Compute approximation to original vector.
 *
@@ -1611,7 +1611,7 @@
 *     .. Common blocks ..
       COMMON             /INFOC/INFOT, NOUTC, OK
 *     .. Executable Statements ..
-      CONJ = SNAME( 5: 5 ).EQ.'c'
+      CONJ = SNAME( 11: 11 ).EQ.'c'
 *     Define the number of arguments.
       NARGS = 9
 *
--- blas-1.2.orig/cblas/testing/c_zblat3.f
+++ blas-1.2/cblas/testing/c_zblat3.f
@@ -1366,7 +1366,7 @@
 *
   150 CONTINUE
       WRITE( NOUT, FMT = 9996 )SNAME
-      CALL ZPRCN3( NTRA, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
+      CALL ZPRCN3( NOUT, NC, SNAME, IORDER, SIDE, UPLO, TRANSA, DIAG,
      $      M, N, ALPHA, LDA, LDB)
 *
   160 CONTINUE
